Hilfe

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
pYtHoNiK
User
Beiträge: 4
Registriert: Samstag 27. März 2010, 18:38

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.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

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.
Darii
User
Beiträge: 1177
Registriert: Donnerstag 29. November 2007, 17:02

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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
pYtHoNiK
User
Beiträge: 4
Registriert: Samstag 27. März 2010, 18:38

Also,ich verwende kein 2. sondern 3.1.

Was soll ich statt input dann verwenden?

Danke
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

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.
pYtHoNiK
User
Beiträge: 4
Registriert: Samstag 27. März 2010, 18:38

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'

:?:
Dingels
User
Beiträge: 61
Registriert: Dienstag 23. Dezember 2008, 19:50

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:

Code: Alles auswählen

note = int(input("Erste Note?"))
Wenn Du in der Eingabe dann eine Zahl eingibst, wird sie direkt in einen Integer umgewandelt.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
pYtHoNiK
User
Beiträge: 4
Registriert: Samstag 27. März 2010, 18:38

Vielen,vielen Dank an alle!
Antworten