2016-03-23 25 views
-1

我對此有點困惑。所以我必須在每次我的程序讀取一行輸入時增加一個跟蹤行號的變量。跟蹤行號的變量

​​3210

不知道這是你是如何做到的,因爲我只是在搖擺它。謝謝! 我正在使用Python。

+1

line_variable = line + 1會拋出一個錯誤TypeError:不能連接'str'和'int'對象。由於行是一個字符串。 – MohitC

回答

2

您的line變量是由於某人在input()中輸入內容而獲得的字符串。相反,你想要的東西,如:

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

該代碼使用生成函數反覆提示輸入(使用raw_input()爲的Py2,只是PY3 input()),然後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無論你喜歡什麼樣的條件。