Как выбрать второй и третий элемент ввода?

голоса
0

Я пытаюсь получить второй и третий элемент, когда пользователь вводит свои данные. Три варианта Top N редакторов, Top н редактирует и Top 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])

Но когда я это делаю, и, например, я ввода «Привет мир», он только печатает: список индексов из гнева, но если я изменить его на печать (line_lst [0]) печатает: d

Я действительно новым для всего этого, так что спасибо за терпение и извините за мое невежество!

Задан 08/04/2014 в 00:38
источник пользователем
На других языках...                            


1 ответов

голоса
1

Проблема здесь:

for line in user_input:

На данный момент user_inputявляется строкой, и когда вы перебирать строки вы делаете это посимвольно. Таким образом , для каждого символа в «Привет мир», вы делаете <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])
Ответил 08/04/2014 в 00:46
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more