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

时间:2014-04-08 01:38:16

标签: python

我想在用户输入数据时获取第二个和第三个元素。 这三个选项是前n个编辑器,前n个编辑和前n个文章。 (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",它只打印:列表索引超出范围,但如果我将其更改为print(line_lst [0]),则打印: d

我对这一切都很陌生,所以,谢谢你耐心等待我的无知!

1 个答案:

答案 0 :(得分:1)

问题在于:

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])