#!/usr/bin/python # -*- coding: utf-8 -*- """ Name: Notion de congruence _ Entrainement mental - (c.f https://www.youtube.com/watch?v=cTp4M9IDjgQ) Author: Joris Bertomeu <joris.bertomeu@gmail.com> Date: 10-02-18 Usage: : python ./congruence.py """ import random from os import system import time import sys D_SAY = 'say -v Thomas ' D_INTERVAL = 1.5 D_SERIE_LENGTH = 5 def representsInt(s): try: int(s) return True except ValueError: return False def printUsage(binaryName): print 'Usage: {0} <Longueur de la série> <Interval entre chiffres en secondes>'.format(binaryName) def say(toSay): system('{0}"{1}"'.format(D_SAY, toSay)) if __name__ == '__main__': serie = [] askNumber = -1 for idx, arg in enumerate(sys.argv): if idx == 1 and representsInt(arg): D_SERIE_LENGTH = int(arg) elif idx == 2 and representsInt(arg): D_INTERVAL = int(arg) elif idx > 0: printUsage(sys.argv[0]) sys.exit(-1) say('Série avec {0} chiffres'.format(D_SERIE_LENGTH)) for x in range(D_SERIE_LENGTH): serie.append(random.randint(0,9)) say(serie[-1]) time.sleep(D_INTERVAL); idxToRemove = random.randint(0,D_SERIE_LENGTH - 1) say('Série avec le chiffre retiré') for x in range(D_SERIE_LENGTH): if x == idxToRemove: continue say(serie[x]) time.sleep(D_INTERVAL); typed = input("Quel est le chiffre retiré ? ") if typed == serie[idxToRemove]: print 'Bravo 🎉! Le chiffre retiré était {0}'.format(serie[idxToRemove]) say('Bravo ! Le chiffre retiré était effectivement {0}'.format(serie[idxToRemove])) else: print 'Désolé 😢! Le chiffre retiré n\'était pas {0} mais était {1}'.format(typed, serie[idxToRemove]) say('Malheureusement, ce n\'était pas {0} ! Le chiffre retiré était le {1}'.format(typed, serie[idxToRemove]))