MyProjects / Oefeningen / random-abc.py
random-abc.py
Raw
from datetime import date
import pandas as pd
import random
import os.path


count = 0
maxcount = 100
score = 0
mistakes = 0

info = {}

df = pd.DataFrame()


def set_key(dictionary, key, value):
    if key not in dictionary:
        dictionary[key] = value
    elif type(dictionary[key]) == list:
        dictionary[key].append(value)
    else:
        dictionary[key] = [dictionary[key], value]


while True:
    count += 1
    print("vraag", count, "van de", maxcount)
    numberOfChanged = 4
    topList = []
    lowerList = []

    x = random.sample(range(0, 25), 8)
    upperTopOrBot = random.randint(0, 1)
    for i in range(0, len(x) - 4):
        ca = x[i]
        p = chr(ca + 97)
        pUpper = p.upper()

        if random.randint(0, 1) == 1:
            p = chr(x[i + 4] + 97)
            numberOfChanged -= 1

        lowerList.append(p if upperTopOrBot == 0 else pUpper)
        topList.append(p if not upperTopOrBot == 0 else pUpper)


    def GetStringFromList(list):
        listStr = ""
        for item in list:
            listStr += item + " "
        return listStr


    print("Goed:", score, "fout:", mistakes, "\n")
    print(GetStringFromList(topList))
    print(GetStringFromList(lowerList))
    print("0, 1, 2, 3, 4")
    # print(numberOfChanged)
    answer = int(input("Antwoord:"))
    if answer == numberOfChanged:
        score += 1
        print("Correct!")
    else:
        mistakes += 1
        print("Wrong, the right answer is:", numberOfChanged)

    if count == maxcount:
        set_key(info, "datum", date.today())
        set_key(info, "goed", str(score))
        set_key(info, "fout", str(mistakes))
        info = pd.DataFrame.from_dict(info, orient='index').transpose()
        df = pd.concat([df, info])
        if not os.path.isfile('abc-log.csv'):
            df.to_csv('abc-log.csv', index=False)
        else:
            df.to_csv('abc-log.csv', mode='a', header=None, index=False)
        print("Goed bezig geweest! :)")
        break