我试图在用户输入数据时获取第二个和第三个元素。 这三个选项是Top n Editors、Top n Edits和Top n Articles(n是一个数字)。 为了识别大写和小写,我降低了用户输入的任何输入,然后尝试检索第二个元素(数字)和第三个元素,以便继续执行相应的函数。 我一直在尝试用一个简单的测试程序:
user_input = input('Input command:')
input_lower = user_input.lower()
for line in user_input:
line_lst = line.strip().split()
print(line_lst[1])
但是当我这样做的时候,比如我输入“Hello there world”,它只打印:list index out of rage,但是如果我把它改为print(line\ulst[0]),它会打印:d
我对这一切都很陌生,所以谢谢你的耐心,也很抱歉我的无知
问题在于:
此时
user_input
是一个字符串,当您在字符串上迭代时,您会逐个字符地进行迭代。所以对于“Hello there world”中的每个字符,都要执行<char>.strip().split()
,然后将[<char>]
赋给line_lst
。因为d
是最后一个字符,所以line_lst
最终被设置为。因为它只有一个项目,所以当您试图打印第二个项目时,它会出错所以,摆脱循环:
相关问题 更多 >
编程相关推荐