Ваша проблема в том, что результатом input()
будет str
, а не int
, а умножение имеет другое значение для строк.Вот пример:
>>> valin = input("How much would you like to bet?: ")
How much would you like to bet?: 20
>>> type(valin) # valin is a string!
<type 'str'>
>>> valin * 2 # multiplication will concatenate the string to itself
'2020'
>>> int(valin) * 2 # first convert it to an int, then multiply
40
Вам нужно сделать так, как предложил Ларсман, и преобразовать его в int
перед умножением.Вот версия с дополнительной проверкой:
print("You have chosen to bet on the even numbers")
while True:
try:
valin = int(input("How much would you like to bet?: "))
break
except ValueError:
print("Invalid input, please enter an integer")
print("If it lands on an even number, you win", valin*2)