mein weg Python 3 zu lernen schreitet voran. Diesmal komme ich mit meiner Aufgabe, leider wieder nicht weiter.
Wenn ihr mich erleuchtet wäre ich euch sehr dankbar.
Hier erstmal die Logik hinter der Aufgabe:
Hier meine Lösung:
Code: Alles auswählen
verse = input ("enter a saying or poem: ")
word_list=verse.split(" ")
#print (word_list)
x = len(word_list)
new_words= []
#print (x)
range(0,x)
for word in range(x):
print (word_list[word])
if len(word_list[word]) <= 5:
word_list[word] = word_list[word].lower()
elif word >=7:
word_list[word] = word_list[word].upper()
def word_mixer(word_list,new_words):
word_list.sort()
while x >= 5:
new_words.append(word_list.pop(-4))
new_words.append(word_list.pop(0))
new_words.append(word_list.pop())
else:
new_words= word_list.sort()
return
word_mixer(word_list,new_words)
print (new_words)
Hier meine Fehlermeldung:
Traceback (most recent call last):
File "python", line 25, in <module>
File "python", line 21, in word_mixer
IndexError: pop from empty list
Warum ist meine list empty? In meiner Welt stehen da Wörter drinne :/ nur nicht in dieser...
new_words.append(word_list.pop(-4) geht bei kurzen Strings auch nicht... is mir schon klar...aber steht nicht in der Logik das ich genau das "prüfen" soll?
Für jede Hilfe bin ich Dankbar. Wenn ich mal soweit bin werde ich mich revanchieren...
Gruß Odox