Ich bin ein Anfänger in Python und fragte mich, warum diese Funktion nicht funktioniert. Es ist syntaktisch korrekt.Python für und While-Schleife für Tupel
Diese Funktion soll jede ungerade Tupel Artikel sammeln und ich eine for-Schleife wie folgt:
def oddTuples(aTup):
result =()
for i in aTup:
if i % 2 == 0:
result += (aTup[i],)
return result
Dies ist die ‚richtige‘ Antwort while-Schleife verwenden.
def oddTuples(aTup):
# a placeholder to gather our response
rTup =()
index = 0
# Idea: Iterate over the elements in aTup, counting by 2
# (every other element) and adding that element to
# the result
while index < len(aTup):
rTup += (aTup[index],)
index += 2
return rTup
Wenn mir jemand helfen kann, wäre es sehr geschätzt!
UPDATE
Okay, habe ich das Problem, von 'i' ich bloß wurde innerhalb dieses Tupel den realen Wert zu sammeln. Ich habe festgelegt, dass, aber dieser Code holt nur einige der ungeraden idexed Artikel, nicht alle von ihnen ....
def oddTuples(aTup):
result =()
for i in aTup:
index = aTup.index(i)
if index % 2 == 0:
result += (aTup[index],)
return result
_ "Es ist syntaktisch korrekt." _ - Nur weil der Parser Ihr Programm akzeptiert, heißt das nicht, dass es funktioniert. Es kann immer noch Probleme in der _logic_ des Programms geben und somit Laufzeitfehler und Bugs verursachen. –