-3
Ich habe eine Liste von String-Nummern und einen Zähler innerhalb einer for-Schleife. Wenn der Zähler in der Liste habe ich etwas, wie folgt aus:Vergleich der Zahl umgewandelt in String-String-Liste
codes = ['123','1245','564','8920','57498']
f = open('path_to_file','r')
for lineno, line in enumerate(f, start=1):
if str(lineno) in codes:
print str(lineno) + ' is in the list'
Das Problem ist, dass es scheint, dass die, wenn die Bedingung von einem bestimmten Punkt immer wahr ist, denn wenn lineno = 123 immer den Satz drucken innen der if-Block.
Wer sieht etwas falsch mit diesem Code? Dank
Unsinn. Setze eine Variable wie 'i = 122'. 'str (i) in Codes' ist falsch. Erhöhen Sie es: True. Inkrementieren erneut: Falsch. Nimm mir 7 Zeilen in einem Interpreter, um mit absolutem Anfänger-freundlichem Code zu demonstrieren, dass deine "wenn Bedingung immer von einem bestimmten Punkt wahr ist" Annahme schlecht ist. Ist das dein echter Code? –
Warum sagst du 'f = open (...)' dann 'Datei' aufzählen? –
Ich konnte diesen Fehler nicht reproduzieren. Sind Sie sicher, dass Sie das genau so codieren? http://pastebin.com/w232SzaV – brettb