2016-03-23 13 views
-1

verfolgt Ich bin ein wenig verwirrt darüber. Also muss ich eine Variable inkrementieren, die jedes Mal, wenn mein Programm eine Eingabezeile liest, die Zeilennummer verfolgt.Variable, die die Zeilennummer

Nicht sicher, ob das ist, wie Sie es tun, da ich es nur winging bin. Vielen Dank! Ich benutze Python.

+1

line_variable = Zeile + 1 einen Fehler Typeerror werfen: nicht verketten ‚str‘ und ‚int‘ Objekte. Da die Zeile eine Zeichenfolge ist. – MohitC

Antwort

2

Ihre line Variable ist eine Zeichenfolge, die erhalten wird, wenn jemand etwas in input() eintippt. Stattdessen wollen Sie so etwas wie:

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

Dieser Code eine Generatorfunktion für die Eingabe wiederholt Aufforderung verwendet (raw_input() für Py2 verwenden, nur input() für PY3), dann enumerate uns zu geben ständig steigende Zeilennummern:

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

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

einige Beispiel-Ausgabe:

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

Dieser Code endet, wenn Sie eine leere Zeile eingeben - Sie können das ändern exi t Zustand zu was auch immer Sie mögen.

Verwandte Themen