如何选择输入的第二和第三个元素?

2024-06-16 09:58:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在用户输入数据时获取第二个和第三个元素。 这三个选项是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

我对这一切都很陌生,所以谢谢你的耐心,也很抱歉我的无知


Tags: 数据用户元素inputtop选项line数字
1条回答
网友
1楼 · 发布于 2024-06-16 09:58:41

问题在于:

for line in user_input:

此时user_input是一个字符串,当您在字符串上迭代时,您会逐个字符地进行迭代。所以对于“Hello there world”中的每个字符,都要执行<char>.strip().split(),然后将[<char>]赋给line_lst。因为d是最后一个字符,所以line_lst最终被设置为。因为它只有一个项目,所以当您试图打印第二个项目时,它会出错

所以,摆脱循环:

user_input = input('Input command:')
input_lower = user_input.lower()
line_lst = input_lower.strip().split()
if len(line_lst) > 1: # check to make sure there's at least as many elements as you expect
    print(line_lst[1])

相关问题 更多 >