2016-03-23 80 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无论你喜欢什么样的条件。