У меня есть несколько кодов ниже, choice
принимает только целочисленный ввод, но распечатывает что-то особенное, если вход не является целым числом. Тем не менее, коды ниже для рассмотрения этого вопроса кажутся немного длинными. В любом случае, чтобы это исправить?Python: как сделать этот код проще?
from sys import exit
def gold_room():
print "This room is full of gold. How much do you take?"
choice = raw_input("> ")
if "0" in choice or "1" in choice or "2" in choice or "3" in choice or "4" in choice or "5" in choice or "6" in choice or "7" in choice or "8" in choice or "9" in choice:
how_much = int(choice)
else:
dead("Man, learn to type a number.")
if how_much < 50:
print "Nice, you're not greedy, you win!"
exit(1)
else:
dead("You're greedy!")
def dead(why):
print why, "Good job!"
exit(0)
gold_room()
Этот вопрос, вероятно, лучше подходит для [Обмена стека кода] (https://codereview.stackexchange.com/). –
Предполагаю, вы говорите о довольно длинном утверждении if? Посмотрите на встроенную функцию 'any'. Независимо от того, что я рекомендовал бы сделать преобразование в 'int', тогда при необходимости поймать исключение (например, только что удаленный ответ). –
Что делать, если 'choice == '1a''? –