if/else

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.
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

if/else

Beitragvon mathi » Freitag 7. Dezember 2007, 09:53

Hallo,
warum kann ich in ug. Beispiel das else nicht weglassen?

Code: Alles auswählen

Ngk=2.5
if Ngk>0:
    fuu=raw_input('Normalkraft=positiv [J/n] !?')
    if fuu=='n':
        Ngkn=-Ngk
    else:
        Ngkn=Ngk   
Ned=Ngkn
print 'Ned=%0.2f kN' % Ned
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Re: if/else

Beitragvon CM » Freitag 7. Dezember 2007, 09:56

Hoi,

wenn

Code: Alles auswählen

Ngk=2.5
if Ngk>0:
    fuu=raw_input('Normalkraft=positiv [J/n] !?')
    if fuu=='n':
        Ngkn=-Ngk
        Ngkn=Ngk   
Ned=Ngkn
print 'Ned=%0.2f kN' % Ned

wird im Falle von fuu!='n' Ngkn gar nicht gesetzt. Wenn

Code: Alles auswählen

Ngk=2.5
if Ngk>0:
    fuu=raw_input('Normalkraft=positiv [J/n] !?')
    if fuu=='n':
        Ngkn=-Ngk
    Ngkn=Ngk   
Ned=Ngkn
print 'Ned=%0.2f kN' % Ned

ist Ngkn unabhängig von fuu immer gleich Ngk.

Beantwortet das Deine Frage?

Gruß,
Christian

PS Was willst Du eigentlich erreichen? Der Code sieht etwas umständlich aus.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Freitag 7. Dezember 2007, 10:01

*kopfkratz* Sieht nach Web 2.0 aus, der User entscheidet ob Werte positiv sind XD Konnt ich mir einfach nicht verkneifen, tut mir leid ._.

Code: Alles auswählen

normalkraft = 2.5
if normalkraft < 0:
    normalkraft *= -1
print 'Ned = %0.2f kM' % normalkraft


Oder hab ich's falsch verstanden?

Edit: Außerdem! PEP8 Alarm
Zuletzt geändert von BlackVivi am Freitag 7. Dezember 2007, 10:03, insgesamt 1-mal geändert.
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Beitragvon mathi » Freitag 7. Dezember 2007, 10:03

nicht ganz:
eigentlich wollte ich so tun wie unten, aber dann ist Ngkn immer negativ, auch wenn ich j oder J eingebe.


Code: Alles auswählen

Ngk=2.5
if Ngk>0:
    fuu=raw_input('Normalkraft=positiv [J/n] !?')
    if fuu=='n':
        Ngkn=-Ngk
#    else:
#        Ngkn=Ngk   
Ned=Ngkn
print 'Ned=%0.2f kN' % Ned
[/code]

EDIT:
der user soll entscheiden ob j oder n, wenn n dann vorzeichen ändern, wenn j soll alles bleiben wie es ist.
mathi
User
Beiträge: 314
Registriert: Dienstag 27. November 2007, 14:30

Beitragvon mathi » Freitag 7. Dezember 2007, 10:09

ich habs jetzt so:

Code: Alles auswählen

Ngk=2.5
if Ngk>0:
    fuu=raw_input('Normalkraft=positiv [J/n] !?')
    if fuu=='n':
        Ngk*=-1
   
Ned=Ngk
print 'Ned=%0.2f kN' % Ned


Warum geht das jetzt ?? Ich begreif das noch nicht!

Edit:
OOOOOO Mann, ich bin so blind : Ned = Ngk (Ngkn) -> da war der Fehler!!
Zuletzt geändert von mathi am Freitag 7. Dezember 2007, 10:11, insgesamt 2-mal geändert.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Freitag 7. Dezember 2007, 10:10

Achso, ich hab dich echt nicht verstanden oO Ich würd's eher so machen!

Code: Alles auswählen

ngk = 2.5
positiv = raw_input("Zahl negativ oder positiv? [J, n]").upper()
if positiv == "N":
    ngkn = -abs(ngk)
else:
    ngkn = abs(ngk)
print "blabla", ngkn


Edit: Hast du vielleicht ein großes N eingegeben?

Edit2: Boah, was'n mit mir los >_>

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder