Python 跟踪行号的变量

Python 跟踪行号的变量,python,python-3.x,Python,Python 3.x,我对此有点困惑。所以每次我的程序读取一行输入时,我必须增加一个变量来跟踪行号 while True: line = input() line_variable = line + 1 我不知道你是不是这样做的,因为我只是随机应变。谢谢 我正在使用Python。您的行变量是一个字符串,是有人在input()中键入内容后获得的。相反,你想要的是: line_num = 0 while True: line = input() line_num += 1 此代码使用生

我对此有点困惑。所以每次我的程序读取一行输入时,我必须增加一个变量来跟踪行号

while True:
    line = input()
    line_variable = line + 1
我不知道你是不是这样做的,因为我只是随机应变。谢谢
我正在使用Python。

您的
变量是一个字符串,是有人在
input()
中键入内容后获得的。相反,你想要的是:

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

此代码使用生成器函数反复提示输入(Py2使用
raw\u input()
,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')
>

当您输入一个空行时,此代码结束-您可以将此退出条件更改为您喜欢的任何值。

line\u variable=line+1将抛出错误TypeError:无法连接'str'和'int'对象。因为行是一个字符串。