繁体   English   中英

AttributeError'int'对象在Ubuntu中的ipython中没有属性isdigit

[英]AttributeError 'int' object has no attribute isdigit in ipython in ubuntu

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
那正确吗?

您正在使用python2,因此您有两个函数inputraw_input 区别在于input在输入的字符串上调用eval 这会将其从字符串转换为在作为脚本或在REPL上输入时python将其解释为的字符串。

对于输入1您将获得int值1。

因此,您现在拥有的值是int而不是字符串。 它没有方法isdigit 如果您坚持使用python 2,则应该改用raw_input ,它不会执行eval ,因此总是返回一个带有isdigit方法的字符串。

对于python3 input它执行的是raw_input py2,所以在这里可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM