Hallo dort Stack Overflow!Finden Sie das letzte Element (Ziffer) in jeder Zeile und summe alle, die gerade Python sind 3
Ich versuche eine Aufgabe zu lösen, die wir heute in meiner Python-Klasse bekommen haben. Ich bin mit Python noch nicht sehr vertraut, also könnte ich wirklich ein paar Tipps brauchen.
Die Aufgabe ist: Finden Sie das letzte Element (Ziffer) in jeder Zeile, wenn es welche gibt, und summieren Sie alle , die gerade sind. so etwas tun
Ich habe begonnen:
result = 0
counter = 0
handle = open('httpd-access.txt')
for line in handle:
line = line.strip()
#print (line)
if line[:-1].isdigit():
print(line[:-1].isdigit())
digitFirst = int(line[counter].isdigit())
if digitFirst % 2 == 0:
print("second")
result += digitFirst
else:
print("else")
ANSWER = result
Aber dieser Code funktioniert nicht für mich, ich habe keine Daten in Folge erhalten. Was fehlt mir? Ein Problem ist, dass ich nicht Zeile für Zeile durch die Zeile gehe, sondern nur die ganze Zeile. Hier
ist ein Beispiel dafür, wie ich in der Datei Zeile aussehen:
37.58.100.166--[02/Jul/2014:16:29:23 +0200]"GET/kod-exempel/source.php?dir=codeigniter/user_guide_src/source/_themes/eldocs/static/asset HTTP/1.1"200867
Also das, was ich abrufen möchten die 7. und dann möchte ich einen Scheck tun, wenn die sieben ist ein selbst oder ungerade Zahl. Wenn es gerade ist, speichere ich es in der a-Variable.
Das hat den Trick! Nur neugierig, wie es Teig funktioniert, damit ich es verstehen kann .. Sie gehen durch die Linie in der Foor Schleife Mit der ersten Zeile in der Probe, erhalten Sie th Die letzte Ziffer, aber was passiert da, wenn es nicht ein int wäre, den du zurückholst? Würde es dann zu dem ausgenommenen Teil gehen? – anderssinho
Ja, wenn die Konvertierung fehlschlägt, wird die Ausnahme "ValueError" ausgelöst. Das wird abgefangen und der Code läuft nach dem try-Block weiter. 'pass' macht effektiv nichts. Es muss nur da sein, um die Einzugserfordernisse zu erfüllen. Sie können auch ein 'continue' dort setzen, wenn Sie wollten. –