Seite 1 von 1

if/else

Verfasst: Freitag 7. Dezember 2007, 09:53
von mathi
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

Re: if/else

Verfasst: Freitag 7. Dezember 2007, 09:56
von CM
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.

Verfasst: Freitag 7. Dezember 2007, 10:01
von BlackVivi
*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

Verfasst: Freitag 7. Dezember 2007, 10:03
von mathi
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.

Verfasst: Freitag 7. Dezember 2007, 10:09
von mathi
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!!

Verfasst: Freitag 7. Dezember 2007, 10:10
von BlackVivi
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 >_>