Gehirntrainer für zwischendurch

Code-Stücke können hier veröffentlicht werden.
Antworten
eject
User
Beiträge: 10
Registriert: Freitag 8. Januar 2016, 22:39

Servus,

ich habe mir mal die Freiheit genommen und wollte euren (-und meinen) grauen Zellen was gutes tuen und habe dementsprechend einen "Trainer" geschrieben.

Hier ist der Code, die Anzahl der Ziffern ist natürlich verstellbar! Viel Spaß beim Rumspielen ;)

Mfg eject

Code: Alles auswählen

from random import randint
import time
import os

def main():
    
    REPEATS = int(input('How often?: '))
    SLEEP_TIME = int(input('Time between every challenge(secs)?: '))

    for REPEATS in range(REPEATS):
                  number1 = randint(1,99)
                  number2 = randint(1,99)
                  number3 = randint(1,99)
                  number = number1+number2+number3
                  print('')
                  print(number1)
                  print('+')
                  print(number2)
                  print('+')
                  print(number3)
                  print('')
                  time.sleep(SLEEP_TIME)
                  os.system('cls')
                  eingabe = int(input('Solution?: '))

                  if (eingabe == number):
                      print('Good Job!')
                  else:
                      print('Idiot!', number)



if __name__ == '__main__':
    main()
Sirius3
User
Beiträge: 17703
Registriert: Sonntag 21. Oktober 2012, 17:20

@eject: statt ein systemabhängiges Programm zum Löschen des Bildschirms aufzurufen solltest Du ein dafür das Modul curses benutzen. Großbuchstaben sind wirklich nur für Konstanten gedacht. Wenn Du anfängst Variablen durchzunummerieren, willst Du eigentlich eine Liste verwenden. Die Klammern bei if sind überflüssig. Die Einrückung ist viel zu weit.

Code: Alles auswählen

from random import randint
import time
import sys

NUMBER_OF_NUMBERS = 3

def main():
    repeats = int(input('How often?: '))
    sleep_time = int(input('Time between every challenge(secs)?: '))

    for _ in range(repeats):
        numbers = [randint(1,99) for _ in range(NUMBER_OF_NUMBERS)]
        number = sum(numbers)
        sys.stdout.write(' + '.join(str(n) for n in numbers))
        sys.stdout.flush()
        time.sleep(sleep_time)
        sys.stdout.write('\r{:20}\r'.format(''))
        sys.stdout.flush()
        eingabe = int(input('Solution?: '))

        if eingabe == number:
            print('Good Job!')
        else:
            print('Wrong!', number)

if __name__ == '__main__':
    main()
eject
User
Beiträge: 10
Registriert: Freitag 8. Januar 2016, 22:39

Dankeschön Sirius :)

Habe das Projekt vor einiger Zeit nochmals neu programmiert. Die Einrückungen waren Formatierungsfehler von mir, sorry habe wohl da gepfuscht.
Und die Klammer'n beim If schreibe ich schon immer blind dazu :x.

Habe mir aber alles zu Herzen genommen und bin noch fleißig am Lernen, danke dir für deine Tipps!

Mfg eject.
Antworten