def input_base():
print('please enter the number')
base = input("Number : ")
while not base.isdigit():
print("It`s not integer")
base = input("R.Number : ")
return base
...
这是我的代码,错误是:
AttributeError:'int'对象没有属性'isdigit'
我不知道如何修复此代码。我想,我应该在Ubuntu中安装一些应用程序,例如python-numpy
...
是吗?
答案 0 :(得分:0)
您使用的是python2,因此您有两个函数input
和raw_input
。区别在于input
在输入的字符串上调用eval
。这将它从一个字符串转换为python在将其作为脚本输入或在REPL时将其解释为。
对于输入1
,您将获得int值1.
所以你现在拥有的是一个int而不是一个字符串。它没有方法isdigit
。如果您坚持使用python 2,则应该使用raw_input
而不使用eval
,因此始终返回一个字符串,该字符串具有isdigit
方法。
对于python3 input
执行raw_input
使它成为py2,因此在这里正常工作。