Seite 1 von 1
Hilfe
Verfasst: Samstag 27. März 2010, 18:44
von pYtHoNiK
Hi,
also,ich bin noch ein Anfänger!
Leider weiß ich nicht was hier falsch ist.
Code: Alles auswählen
name = input ("Wie ist dein Name?")
nvg = input ("Name von Gegenstand")
note =input ("Erste Note?")
note2 =input ("Zweite Note?")
note3 = input ("Dritte Note ?")
durchschnitt = ( note + note2 + note3 ) / 3
print ("Sooo,",name "du hast in " ,nvg " ein Notendurchschnitt von: ",durchschnitt)
Danke.
Verfasst: Samstag 27. März 2010, 18:46
von DasIch
Du setzt die Strings falsch zusammen, nach jedem Objekt muss da ein Komma. Außerdem ist print keine Funktion und input sollte man nicht verwenden. Ich gehe hierbei mal davon aus dass du 2.x benutzt.
Re: Hilfe
Verfasst: Samstag 27. März 2010, 18:51
von Darii
pYtHoNiK hat geschrieben:also,ich bin noch ein Anfänger!
Leider weiß ich nicht was hier falsch ist.
Das ist ganz einfach. Der Fehler ist, dass du weder geschrieben hast, was für ein Ergebnis du erwartet hast, noch was stattdessen passiert ist.
Re: Hilfe
Verfasst: Samstag 27. März 2010, 18:57
von Hyperion
Darii hat geschrieben:pYtHoNiK hat geschrieben:also,ich bin noch ein Anfänger!
Leider weiß ich nicht was hier falsch ist.
Das ist ganz einfach. Der Fehler ist, dass du weder geschrieben hast, was für ein Ergebnis du erwartet hast, noch was stattdessen passiert ist.
Zudem ist der Titel des Threads nicht wirklich toll. Unter "Hilfe" kann man sich wenig vorstellen. Am besten im Titel schon Sclagwörter unterbringen, wo so ungefähr das Problem liegt.
Verfasst: Samstag 27. März 2010, 19:00
von pYtHoNiK
Also,ich verwende kein 2. sondern 3.1.
Was soll ich statt input dann verwenden?
Danke
Verfasst: Samstag 27. März 2010, 19:03
von numerix
pYtHoNiK hat geschrieben:Also,ich verwende kein 2. sondern 3.1.
Was soll ich statt input dann verwenden?
Dann ist input() richtig. Aber du solltest dir Mühe geben und beschreiben, welcher Fehler genau auftritt. Oder die Fehlermeldung im Original posten.
Verfasst: Samstag 27. März 2010, 19:10
von pYtHoNiK
Traceback (most recent call last):
File "c:/", line 8, in <module>
durchschnitt = ( note + note2 + note3 ) / 3
TypeError: unsupported operand type(s) for /: 'str' and 'int'

Verfasst: Samstag 27. März 2010, 19:20
von Dingels
Hallo,
die Fehlermeldung sagt es doch schon: Der input-Befehl gibt einen String zurück und keinen Integer. Du versuchst Strings zu addieren und dann durch eine Zahl zu dividieren. Logischerweise kann das nicht funktionieren. Um einen String in einen Integer umzuwandeln, kannst Du die int()-Funktion benutzen, also z.B. so:
Wenn Du in der Eingabe dann eine Zahl eingibst, wird sie direkt in einen Integer umgewandelt.
Verfasst: Samstag 27. März 2010, 19:22
von Hyperion
pYtHoNiK hat geschrieben:Traceback (most recent call last):
File "c:/", line 8, in <module>
durchschnitt = ( note + note2 + note3 ) / 3
TypeError: unsupported operand type(s) for /: 'str' and 'int'

Du musst nur übersetzen:
Für die Operation "/" (also geteilt durch) wird die Kombination der Operanden String und Integer nicht akzeptiert. Du kannst eben nicht einen String durch einen Integer-Wert teilen.
Probiere doch mal in einer Python-Shell (ipython z.B.) folgendes aus:
Code: Alles auswählen
In [1]: 4 / 2
Out[1]: 2
In [2]: "4" / 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
C:\Dokumente und Einstellungen\nelson\Eigene Dateien\<ipython console> in <modul
e>()
TypeError: unsupported operand type(s) for /: 'str' and 'int'
In [3]:
Prinzipiell sagt Dir der Name der Exception auch schon in Kurzform, wo das Problem so ca. liegen muss: TypeError deutet eben darauf hin, dass irgend ein Datentyp nicht in den Programmfluss passt.
Verfasst: Samstag 27. März 2010, 19:32
von pYtHoNiK
Vielen,vielen Dank an alle!