AttributeError: 'int' object has no attribute 'isdigit' from user input
AttributeError: 'int' object has no attribute 'isdigit' from user input
我是 运行 python 默认 IDE 3。
这是我的代码:
def print_():
f = open("height.txt","r")
content = f.read()
print(content)
f.close()
main()
def main():
name = str(input("What is your name?"))
data = int(input("How tall are you? (CM)"))
if data.isdigit() == True:
print("\n")
elif data.isdigit() == False:
print("Must be a number!")
main()
# a+ is read only mode
f = open("height.txt","a+")
f.write(name)
f.write(str(data))
f.write("cm, ")
f.close()
data_1 = str(input("1 = View Contents. Other = Quit"))
if data_1 == '1':
print_()
else:
print("Exiting")
main()
问题是 isdigit 对字符串进行操作;但是,您已经将数据对象转换为 int:data = int(input("How tall are you? (CM)"))。如果要使用 isdigit 函数,则应让数据为字符串。数据 = 海峡(输入(“...”))
您正在尝试检查 isdigit()
您已经转换为 int 的数据。将其作为 str
读入,然后在检查它是一个数字后将其投射:
def main():
name = str(input("What is your name?"))
data = str(input("How tall are you? (CM)"))
while !data.isdigit():
print("Must be a number!")
data = str(input("How tall are you? (CM)"))
print("\n")
data = int(data)
print("\n")
此循环将继续请求一个 int 直到提供一个,然后将其转换为 int
我是 运行 python 默认 IDE 3。
这是我的代码:
def print_():
f = open("height.txt","r")
content = f.read()
print(content)
f.close()
main()
def main():
name = str(input("What is your name?"))
data = int(input("How tall are you? (CM)"))
if data.isdigit() == True:
print("\n")
elif data.isdigit() == False:
print("Must be a number!")
main()
# a+ is read only mode
f = open("height.txt","a+")
f.write(name)
f.write(str(data))
f.write("cm, ")
f.close()
data_1 = str(input("1 = View Contents. Other = Quit"))
if data_1 == '1':
print_()
else:
print("Exiting")
main()
问题是 isdigit 对字符串进行操作;但是,您已经将数据对象转换为 int:data = int(input("How tall are you? (CM)"))。如果要使用 isdigit 函数,则应让数据为字符串。数据 = 海峡(输入(“...”))
您正在尝试检查 isdigit()
您已经转换为 int 的数据。将其作为 str
读入,然后在检查它是一个数字后将其投射:
def main():
name = str(input("What is your name?"))
data = str(input("How tall are you? (CM)"))
while !data.isdigit():
print("Must be a number!")
data = str(input("How tall are you? (CM)"))
print("\n")
data = int(data)
print("\n")
此循环将继续请求一个 int 直到提供一个,然后将其转换为 int