Python 需要修复的基本代码

Python 需要修复的基本代码,python,python-3.x,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: TypeEr

我已经编写了一些代码:

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
input()
返回一个字符串

从:

如果存在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")
这样,程序将尝试将用户输入转换为整数,如果转换失败,程序将打印“请给我一个整数”

input()
返回一个字符串

从:

如果存在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")

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

bet
是字符串,而不是数字。你需要先转换它。对字符串使用
%
时,您正在格式化字符串,而不是获取数字的模。
bet
是字符串,而不是数字。你需要先转换它。在字符串上使用
%
时,您正在格式化字符串,而不是获取数字的模。