Функция input
всегда возвращает строку в Python 3, поэтому вам придется написать:
x = int(input('How many days? '))
В данный момент вы пытаетесь выполнить...
str / int
# and you need
int / int
Таким образом, приведение результата ввода к int будет работать до тех пор, пока вход можно преобразовать.Вы можете углубиться в функции и обработку ошибок, если хотите убедиться, что введен правильный ввод:
def int_input(prompt):
while True:
try:
x = int(input(prompt))
except ValueError:
print('bad input!')
else:
return x
А затем замените ваш int(input(...))
на int_input(...)
.