Seite 1 von 1

only named arguments may follow *expression

Verfasst: Mittwoch 4. Februar 2015, 09:56
von gaganaut

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.

Re: only named arguments may follow *expression

Verfasst: Mittwoch 4. Februar 2015, 10:02
von Darii
Was glaubst du denn was "inch = ",*2.54 tut? Sicher, dass du da nicht was vergessen hast?

Re: only named arguments may follow *expression

Verfasst: Mittwoch 4. Februar 2015, 10:05
von Hyperion
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")

Re: only named arguments may follow *expression

Verfasst: Mittwoch 4. Februar 2015, 10:20
von gaganaut
Ja hat nun funktioniert vielen Dank!

Re: only named arguments may follow *expression

Verfasst: Mittwoch 4. Februar 2015, 14:27
von sparrow
Und hübsch:

Code: Alles auswählen

print("{inch} inch = {cm} cm".format(inch=i, cm=i*2.54))

Re: only named arguments may follow *expression

Verfasst: Mittwoch 4. Februar 2015, 18:16
von Darii
Hübsch wird das nimmer so lange Zoll drin vorkommt… ;)