需要修复的基本代码

时间:2017-06-18 16:19:45

标签: python python-3.x

我写了一些代码:

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

1 个答案:

答案 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")

这样程序会尝试将用户输入转换为整数 - 如果失败则打印出“请给我一个整数”