fork download
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3.  
  4. # В python 2 input() считает значения и умеет возвращать int().
  5. # Есть raw_input, который не выделывается, но в python 3 он был
  6. # переименован в input. Следующими строками мы делаем нормальый
  7. # input(), который всегда возвращает строки и работает одинаково
  8. # на обеих версиях
  9. try:
  10. input = raw_input
  11. except NameError:
  12. pass
  13.  
  14. skills = {"Power": 0,"Magic": 0, "Speed": 0}
  15. points = 30
  16.  
  17. # choice нужен только внутри цикла, раз do .. while в питон не завезли.
  18. while True:
  19. print(
  20. """
  21. 0 - Exit
  22. 1 - Show skills
  23. 2 - Use some points
  24. 3 - Take some points
  25. """
  26. )
  27. # можно сделать int(input("Your choice: ")), и код бы заработал без
  28. # изменений, но вдруг ты захочешь текстовые команды прикрутить вместо цифр?
  29. choice = input("Your choice: ")
  30. # тут был print, он нинужен
  31. if choice == '0':
  32. print("Good luck!")
  33. # выходим из цикла while
  34. break
  35. elif choice == '1':
  36. print("Available skills: " + ", ".join(skills.keys()))
  37. else:
  38. print("{0} is not implemented".format(choice))
  39. input("The end")
  40.  
Runtime error #stdin #stdout #stderr 0.03s 44680KB
stdin
1
2
0
stdout
    0 - Exit
    1 - Show skills
    2 - Use some points
    3 - Take some points
    
Your choice: Available skills: Power, Magic, Speed

    0 - Exit
    1 - Show skills
    2 - Use some points
    3 - Take some points
    
Your choice: 2 is not implemented

    0 - Exit
    1 - Show skills
    2 - Use some points
    3 - Take some points
    
Your choice: Good luck!
The end
stderr
Traceback (most recent call last):
  File "<builtin>/app_main.py", line 75, in run_toplevel
  File "prog.py", line 39, in <module>
    input("The end")
EOFError