当我试图使用输入的变量来确定列表中的某个字符串时,我正在浏览一些代码。我已经使用了大量的输入分隔,使它成为两个字符串,我看不出我的代码有什么问题
我试着在我的主项目中使用一段代码,但失败了
我尝试在我的主要项目中使用以下代码:
equipped = []
bag = ['foo', 'bar']
act = input()
if "Equip" or "equip" in act:
inputPieces = act.split(' ')
base = inputPieces[0]
argument = inputPieces[1]
slotnumber = int(argument) - 1
item_equip = bag[slotnumber]
equipped.append(item_equip)
当我试着输入equip 1
时,它应该将'foo'添加到文件中,但是它发送了一个错误消息
argument = inputPieces[1]
IndexError: list index out of range
它应该接受我输入(1)的第二部分,并将相应的字符串从“bag”附加到“equired”。但是当我尝试这样做时,错误消息说(我认为)这个部分不存在,所以它不能获取索引
您已经使用构成列表的空格(act.split(“”))拆分了数据。如果用户输入与用户输入之间有空格,则列表包含多个数据。如果用户输入只包含一个没有空格的单词,比如“equipefgfgh”,那么inputPieces[1]就不存在了。在这种情况下,你将得到问题中陈述的错误。所以你必须在进入前检查:
或者可以使用try/except:
相关问题 更多 >
编程相关推荐