【问题标题】:TypeError: 'str' object is not callable when using input() in PyDev for EclipseTypeError:在 PyDev for Eclipse 中使用 input() 时,“str”对象不可调用
【发布时间】:2019-01-10 21:42:46
【问题描述】:

A similar answer

我第一次在 Eclipse 中的 PyDev 中制作基本的文本冒险游戏,当我尝试让用户多次输入时,我得到了上述错误。下面是我使用的产生错误的代码:

print("Input a name for your character.")    
input = input()    
player = Character(input)

我已经定义了Character 类,它以str 作为其参数。二传手在下面。

player.setName(input)    
print("\nWelcome, "+input+"!\nChoose a weapon from the list below.")    
print("\nfists\ndagger\nspear\naxe\nshortsword\nlongsword\nmace")    
wpn = input()

我得到了一个TypeErrorwpn = input()" 说'str' object is not callable

这让我很困惑,因为这不应该接受输入并将其存储在一个新变量“wpn”中,而它曾经存储在“输入”中吗?当我将 wpn 更改为输入时,它可以工作,但如果我要求它接受用户输入,则不会......

我每次都想要唯一的用户输入,但鉴于此错误,我不确定如何实现。

【问题讨论】:

  • 您将用户的输入分配给变量input。在那之后,您不能再调用input(),因为该名称不再指代内置函数。只需在此处选择不同的变量名称即可。

标签: python string input typeerror pydev


【解决方案1】:

您已将输入更改为字符串。它不再是原始输入函数的作用。给输入返回不同名称的值:

user_input = input()

这将使input 函数保持原样。

【讨论】:

    【解决方案2】:

    它不起作用,因为您的变量 input 覆盖了真正的 input 函数,因此解决此问题的最佳方法是重命名变量,试试这个:

    user_input = input()
    

    现在它不会覆盖函数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-07
      • 2019-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-11
      相关资源
      最近更新 更多