Python 09: Decide!

Pois nada, como o Cristian está decidido a facerme traballar, aquí lle queda un codiguiño para que se entreteña:

1. import random

2. import time

3.

4. def amosaIntro():

5. print('Estás no CPI de Atios')

6. print('tes dúas portas diante de ti')

7. print('nunha delas está o simpático profesor Tucho...')

8. print('noutra o irascible e malencarado D. Alberto')

9. print()

10.

11. def escollePorta():

12. porta=''

13. while porta!='1' and porta!='2':

14. print('Que porta queres?(1 ou 2)')

15. porta=input()

16.

17. return porta

18.

19. def comprobaPorta(escollidaPorta):

20. print('achégaste á porta...')

21. time.sleep(2)

22. print('petas con coidado e educación...')

23. time.sleep(2)

24. print('metes a cabeza pola porta e...')

25. print()

26. time.sleep(2)

27.

28. boaPorta=random.randint(1,2)

29.

30. if escollidaPorta==str(boaPorta):

31. print()

32. print('o profesor tucho saúdache cun cordial sorriso!')

33. else:

34. print()

35. print('o malvado D. Alberto pégache un berrido...')

36. time.sleep(1)

37. print('que che funde a cera das orellas!')

38.

39. xogaOutra='si'

40. while xogaOutra=='si' or xogaOutra=='s':

41.

42. amosaIntro()

43.

44. numeroPorta=escollePorta()

45.

46. comprobaPorta(numeroPorta)

47.

48. print('Probas outra vez? (si ou non)')

49. xogaOutra=input()

Como xa son as 12 da noite, non hai tempo de explicar demasiado e quen chegue aquí se terá que apañar un pouco por si mesmo, só unhas poucas preguntas e pistas:

- Pode que che sexa máis doado empezar a ler o programa pola liña 39.

- Que fai time.sleep(2)?

- Cres que podes dicir que fai def e o bloque que o sigue?

- Que farán os operadores and e or que aparecen nas liñas 13 e 40, respectivamente?

- Que cres que fai o bucle while das liñas 13-15?