Python Anfänger, was habe ich falsch gemacht?
character_age = 50
print("i will be"+ character_age +"soon,")
print("or maybe"+ character_age +"year,")
print("i am really getting old")
print("but i will reach"+ character_age +"for sure.")
Meldung: print("i will be"+ character_age +"soon,")
TypeError: can only concatenate str (not "int") to str
Process finished with exit code 1
line 3
6 Antworten
Wie die Fehlermeldung schon sagt.
Das eine sind integer Zahlen und das andere Strings.
In PHP würde das gehen aber Phyton achtet auf Typen und macht keine automatische Wandlung.
Also explizit wandeln oder die 50 als String
Mach
character_age = "50"
anstatt
character_age = 50
Der Fehler kommt, weil du in einen String einen integer hinzufügst. Das funktioniert aber nicht ohne weiteres. Du hast mehrere Möglichkeiten.
Nummer eins
print("i will be"+ str(character_age) +"soon,")
oder eleganter:
print(f"I will be {character_age} soon")
das ist ein so genannter f String (einfach ein f vor die Anführungsstriche). Dann kannst du normal den Text schreiben und wann immer du Variablen einfügen willst, setzt du das in die geschweiften Klammern.
kannst nicht print(string + int), musst also z.B. print("i will be"+ str(character_age) +"soon,") machen
Du musst den int noch in einen String umwandeln.
character_age = str(50)
Dann sollte glaublich kein Fehler mehr Ausgegeben werden.