only named arguments may follow *expression

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
gaganaut
User
Beiträge: 9
Registriert: Mittwoch 4. Februar 2015, 09:52

Code: Alles auswählen

for i in range(15,35,5):
    print( i,"inch = ",*2.54 ,"cm")
Ich bekomme immer den Fehler only named arguments may follow *expression

Wenn ich die Kommas und die Kommentare entferne funktioniert das Pr0gramm aber.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Was glaubst du denn was "inch = ",*2.54 tut? Sicher, dass du da nicht was vergessen hast?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

gaganaut hat geschrieben: Wenn ich die Kommas und die Kommentare entferne funktioniert das Pr0gramm aber.
Du meinst die Strings‽

Der Fehler liegt an der falschen Semantik! Du hast da ein ``*2.54`` stehen. Das ``*`` hat hier eine andere Bedeutung als den Multiplikationsoperator.

Probiere es mal so:

Code: Alles auswählen

print(i, "inch = ", i*2.54, "cm")
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
gaganaut
User
Beiträge: 9
Registriert: Mittwoch 4. Februar 2015, 09:52

Ja hat nun funktioniert vielen Dank!
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Und hübsch:

Code: Alles auswählen

print("{inch} inch = {cm} cm".format(inch=i, cm=i*2.54))
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

Hübsch wird das nimmer so lange Zoll drin vorkommt… ;)
Antworten