2016-03-23 4 views
-1

Я немного смущен этим. Поэтому я должен увеличивать переменную, которая отслеживает номер строки каждый раз, когда моя программа считывает строку ввода.Переменная, которая отслеживает номер строки

while True: 
    line = input() 
    line_variable = line + 1 

Не уверен, что именно так вы делаете это, так как я просто прикрываю его. Благодаря! Я использую Python.

+1

line_variable = строка + 1 выдает ошибку TypeError: не может конкатенировать объекты 'str' и 'int'. Так как строка - это строка. – MohitC

ответ

2

Ваша line переменная - это строка, полученная в результате того, что кто-то печатает что-то в input(). Вместо этого вы хотите что-то вроде:

line_num = 0 
while True: 
    line = input() 
    line_num += 1 
1

Этот код использует функцию генератора повторно приглашение для ввода (используйте raw_input() для py2, просто input() для PY3), то enumerate, чтобы дать нам все большее число строк:

def input_gen(): 
    while True: 
     yield raw_input('> ') 

for lineno, data in enumerate(input_gen()): 
    if not data: 
     break 
    print(lineno, data) 

Вот некоторый пример вывод:

> lksjdf 
(0, 'lksjdf') 
> lkjdsf 
(1, 'lkjdsf') 
> lksjdf 
(2, 'lksjdf') 
> lsdkjf 
(3, 'lsdkjf') 
> 

Этот код заканчивается, когда вы входите в пустую строку - вы можете изменить это ExI t, чтобы вы хотели.

Смежные вопросы