如何修复列表中的“ TypeError:'str'对象不可调用”

时间:2019-08-29 09:42:26

标签: python python-3.x

我目前正在学习Python,目前正在尝试创建一个商品选择系统,用户想要的商品可以从列表中手动输入单个商品,然后将该商品分配给变量“ item”。但是,当我尝试输入一个不存在的项目时,而不是代码循环回到代码的开头(它使用“ while”函数),它会产生一条错误消息:

TypeError: 'str' object is not callable

我目前正在尝试练习操作python代码,以获得潜在项目的经验;几天来,我只通过“ Solo Learn”网站学习过Python。

`

inventory=["SWORD","STEAK","BOMB"]
item="NONE"
inventoryselection=1
while inventoryselection==1:
 print("\nINVENTORY:")
 print(inventory)
 item=input("SELECT ITEM:")
 if(item in inventory):
  inventoryselection=0
 else:
  print=("ITEM NOT FOUND.")
  item="NONE"
print("ITEM:"+str(item))

`

预期结果是,当将上面的项目(“ SWORD”)输入到item变量中时,它将显示项目名称并完成代码;而当输入不存在的项目时,它将打印“找不到项目”。

相反,虽然输入“ SWORD”会得到预期的结果,但输入“ APPLE”(列表中不存在的条目)会产生错误:

line 5, in <module> print("\nINVENTORY:") TypeError: 'str' object is not callable

1 个答案:

答案 0 :(得分:3)

inventory=["SWORD","STEAK","BOMB"]
item="NONE"
inventoryselection=1
while inventoryselection==1:
 print("INVENTORY:")
 print(inventory)
 item=input("SELECT ITEM:")
 if(item in inventory):
  inventoryselection=0
 else:
  print("ITEM NOT FOUND.")
  item="NONE"
print("ITEM:"+item)

在其他条件之后,只需在代码中使用print函数作为str即可使用