Hallo,
leider finde ich bei dem simplen Beispiel den Fehler nicht!
Bitte um Hilfe!!
ein = input("Geben Sie eine Zahl ein: ")
c = ein*8.
print ("die Zahl mal 8 ist:"), c
Programm startet, doch dann kommt es zu folgender Fehlermeldung:
Geben Sie eine Zahl ein: 4
Traceback (most recent call last):
File "C:\Users\Me\Desktop\u1 1.1.py", line 5, in <module>
c = ein*8.
TypeError: can't multiply sequence by non-int of type 'float'
>>>
can't multiply sequence by non-int of type 'float' Fehler?
input gibt in python 3.x einen string zurück, diesen kannst du nicht mit einem float Multiplizieren... wie die Fehlermeldung schon sagt
Sprich, wandle die eingabe in ein int bzw float um.
BTW ist es gewollt das die 8 ein float ist, also ein punkt dahinter ist?
Sprich, wandle die eingabe in ein int bzw float um.
BTW ist es gewollt das die 8 ein float ist, also ein punkt dahinter ist?
Du verwendest Python 3, oder?informatikking hat geschrieben:TypeError: can't multiply sequence by non-int of type 'float'
input liefert dir dort immer einen String zurück. Mit einem String kannst du aber keine mathematischen Operationen durchführen.
Code: Alles auswählen
>>> '4' * 8
'44444444'
Code: Alles auswählen
>>> '4' * 8.
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
'4' * 8.
TypeError: can't multiply sequence by non-int of type 'float'
Code: Alles auswählen
ein = float(input("Geben Sie eine Zahl ein: "))
-
- User
- Beiträge: 4
- Registriert: Dienstag 29. Januar 2013, 16:24
Vielen Dank für die Schnelle Hilfe. Ja, ich benutze Python 3.3.
Leider funktioniert die Ausgabe noch nicht.
Leider wird das Ergebnis nicht angezeigt. Kommt auch keine Fehlermeldung.
Woran liegt das?
Leider funktioniert die Ausgabe noch nicht.
Leider wird das Ergebnis nicht angezeigt. Kommt auch keine Fehlermeldung.
Woran liegt das?
-
- User
- Beiträge: 4
- Registriert: Dienstag 29. Januar 2013, 16:24
Alles klar! Habe selber den Fehler gefunden.
Ausgabe wie folgt:
print ("die Zahl mal 8 ist:"), print (c)
Ausgabe wie folgt:
print ("die Zahl mal 8 ist:"), print (c)
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Stattmuss es heißen: Die erste Variante bedeutet: rufe die Funktion print mit dem Argument "die Zahl mal 8 ist:" auf, und bilde aus dem Egebnis dieses Aufrufs - d.i. None - zusammen mit c ein zwei-elementiges Tupel und dann verwirf dieses Tupel.
Code: Alles auswählen
print ("die Zahl mal 8 ist:"), c
Code: Alles auswählen
print("die Zahl mal 8 ist:", c)
In specifications, Murphy's Law supersedes Ohm's.