我正在尝试将字符串转换为浮点型,但出现此类型错误:
TypeError Traceback (most recent call last)
<ipython-input-133-93612055e8fb> in <cell line: 1>()
----> 1 year=int(input("tell me your birth date: "))
TypeError: 'str' object is not callable
this is the code that i'm trying:
year=int(input("tell me your birth date: "))
--
谢谢:)
Gemni 带来了此响应,但我检查了代码,但没有意义:
看起来您可能不小心用代码中某个名为“input”的字符串变量覆盖了内置的 input() 函数。这导致 TypeError: 'str' object is not callable 因为您试图像调用函数一样调用字符串。全局变量显示您有一个包含字符串的变量 ano_usuario。您之前可能已将一个字符串分配给名为 input 的变量。
我按照 Gemni 的建议尝试了此操作,但没有成功:
清除 'input' 变量(如果存在)
if 'input'在全局变量()中: 删除输入
该错误发生的原因是你试图将一个字符串转换为整数,但字符串包含的不是数字。例如,如果你输入“twenty”而不是“20”,就会出现这个错误。
为了解决这个问题,你需要确保输入的字符串包含一个可以转换为整数的数字。你可以使用
.isnumeric()
方法来检查一个字符串是否只包含数字。
以下是一个例子:
while True:
year_str = input("告诉我你的出生年份:")
if year_str.isnumeric():
year = int(year_str)
break
else:
print("无效的输入。请输入一个数字。")
print(f"你输入的年份是:{year}")
这段代码会一直要求用户输入,直到输入一个有效的数字为止。
关于你提到的 Gemni 的回复:
Gemni 的回复指的是一种可能性,即你在代码的某个地方定义了一个名为 "input" 的变量,这个变量覆盖了 Python 内置的
input()
函数。在这种情况下,当你调用
input("tell me your birth date: ")
时,你实际上是在试图调用一个字符串变量,这会导致 "TypeError: 'str' object is not callable" 错误。
如果你没有在代码中定义过名为 "input" 的变量,那么 Gemni 的回复可能不适用于你的情况。
标签:python,string,input,integer From: 78780508