Сейчас у меня этот код:, а х ValueError:
yon = raw_input("were you running in km y or n?: ")
if yon is "y":
kilnumber = raw_input("how many kilometers?: ")
milnumber = 0
try:
float(kilnumber)
except:
print "You must enter a number"
exit()
Я надеялся, чтобы сделать его проще, добавив время цикла повторного спросить kilnumber, если пользователь вводит недопустимый ответ. Я надеялся на что-то вроде этого:
yon = raw_input("were you running in km y or n?: ")
if yon is 'y':
kilnumber = raw_input("how many kilometers?: ")
milnumber = 0
while float(kilnumber) is ValueError:
print "You must enter a number"
kilnumber = raw_input("how many kilometers?: ")
Этот код не работает, поскольку он отправляет сообщение об ошибке перед вычислением цикла while. Решение?
Не используйте 'is' для сравнения значений, используйте' == '. Измените условие на 'if yon ==" y ":' – Tim