我写了一些代码:
mon=10
a=1
print("You have",mon,"pounds")
bet=input("How much do you want to bet?")
if bet % 1==0:
bet=int(bet)
else:
print("Give me a whole number please")
但是当我回答时,我得到了:
Traceback (most recent call last):
if bet % 1==0:
TypeError: not all arguments converted during string formatting
答案 0 :(得分:3)
input()
返回一个字符串。
来自docs:
如果存在prompt参数,则将其写入标准输出而不带尾随换行符。然后该函数从输入中读取一行,将其转换为字符串(剥离尾随换行符),然后返回该行。
您应该按如下方式更改您的代码:
mon=10
a=1
print("You have",mon,"pounds")
bet=input("How much do you want to bet?")
try:
bet=int(bet)
print(bet)
except:
print("Give me a whole number please")
这样程序会尝试将用户输入转换为整数 - 如果失败则打印出“请给我一个整数”