Blutige Anfängerfrage

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
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

Hallo,
bin gerade dabei mich in Python einzuarbeiten und bin ein Totalanfänger..d.h. keine Progammiersprache bisher gelernt....

Warum gibt er mir nicht den Preis "6" aus?

Vielen Dank *schäm*

Code: Alles auswählen

def PacketB (preis, artikel):
  cost = 6
  item= 'nudel'
  if (preis):
      return cost
  cost = 85
  if (artikel):
      return artikel

print PacketB(preis)
Ergebnis:
Traceback (most recent call last):
File "C:/Python26/test2.py", line 10, in <module>
print PacketB(preis)
NameError: name 'preis' is not defined
ivka_sto
User
Beiträge: 63
Registriert: Dienstag 11. Dezember 2007, 23:13

Weil du preis nirgendwo definiert hast.

So geschrieben, solltest du die Methode mit einem Argument aufrufen - also PacketB(4, 7)

In den if-Schleifen dürfte es aber immer reingegangen werden, da preis und artikel immer true sein werden.

Oder versuchst du zu unterscheiden, ob PacketB mit preis oder artikel aufgerufen wird? Das ginge nämlich nicht, muß immer mit beidem aufgerufen werden.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

"PaketB" ist auch keine Funktion, sondern eher ein Objekt ;-)
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

Vielen Dank erst mal!
Von dem Ding habe ich mir versprochen, wie Du bereits geahnt hast, dass mir entweder preis oder artikel herausgegeben wird..

Warum genau geht das eigentlich nicht?

Aber wenn das nicht geht, werd ich wohl die Infos in ein Tupel packen und dann aufrufen ;)

Danke

Grüße
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

oh ja, vielleicht ein objekt... :roll:
Danke
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

"Paket", nicht "Packet". :)

Oder eben "package" auf Englisch.

Oder meinst du "Parkett"? :o
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

ivka_sto hat geschrieben:if-Schleifen
Autsch!
ivka_sto
User
Beiträge: 63
Registriert: Dienstag 11. Dezember 2007, 23:13

Ich bin Ausländerin, ich darf das :lol:
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

ivka_sto hat geschrieben:Ich bin Ausländerin, ich darf das :lol:
Dar nicht fehlen:

www.if-schleife.de

:-D
doca82
User
Beiträge: 48
Registriert: Mittwoch 16. September 2009, 19:39
Wohnort: Berlin

@snafu
ja ich meine natürlich pakett [sic] :P
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

ivka_sto hat geschrieben:Ich bin Ausländerin, ich darf das :lol:
Tzä. Mein Uropa kommt aus Oberschlesien. Allerdings war das vor'm Krieg. ^^
BlackJack

@snafu: Das heisst Dein Uropa dürfte das auch. Du nicht. :-P
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

BlackJack hat geschrieben:@snafu: Das heisst Dein Uropa dürfte das auch. Du nicht. :-P
Karl der Große ist ein direkter Vorfahr von mir - darf ich das jetzt auch? :-D
Antworten