numOfYears = 0
cpi = eval(input("Enter the CPI for July 2015: "))
if cpi.isdigit():
while cpi < (cpi * 2):
cpi *= 1.025
numOfYears += 1
print("Consumer prices will double in " + str(numOfYears) + " years.")
while not cpi.isdigit():
print("Bad input")
cpi = input("Enter the CPI for July 2015: ")
我得到以下错误。
AttributeError: 'int' object has no attribute 'isdigit'
因为我是编程新手,我真的不知道它想告诉我什么。我正在使用if cpi.isdigit():
检查用户输入的是不是一个有效数字。
如文档所述,here
isdigit()
是一个字符串方法。不能为整数调用此方法。这条线
evaluates
用户输入整数。但如果删除
eval
方法(最好这样做)一切都会好的。
顺便说一下,使用eval而不使用sanitizin用户输入可能会导致问题
想想这个。
使用这个:
isdigit()
仅适用于字符串。相关问题 更多 >
编程相关推荐