2016-05-28 3 views
1

Ich versuche ein Programm zu schreiben, das berechnet, dass der Benutzer aufgefordert wird, sowohl den Wert und das Gewicht einer Bestellung einzugeben und zeigt die Versandkosten.Python wenn elif, sonst Probleme, wenn ein if nicht wahr ist überspringen

Versandkosten für Online-Bestellungen basieren auf dem Wert der Bestellung und dem Versandgewicht. $ 100 + gibt es keinen Versand auf Aufträge weniger als $ 100 Versandkosten sind wie folgt: Mehr als 40 lbs: $ 1,09 pro Pfund Mehr als 20 lbs: $ 0,99 pro Pfund Gleich oder weniger als 20 lbs: $ 0,89 pro Pfund

Wenn der Bestellwert $ 100 + ist, ist das Gewicht irrelevant und Ihr Programm sollte nicht danach fragen.

Bisher ist das, was ich habe:

#Have user enter weight of order 
weight = int(input('Enter the weight of your order:')) 

#Determine shipping cost 
if weight >= 40: 
    total = weight * 1.09 
elif weight >= 20: 
    total = weight * 0.99 
elif weight <=20: 
    total = weight * 0.89 

#does shipping apply 
if total >= 100.00 
    else: 
if total <= 100.00 

Ich bin nicht sicher, wo man von hier geht und was in der anderen Zeichenfolge setzen unter nicht Versand gelten.

Antwort

1

Sie sollten nicht else, nur print verwenden. Oder Sie können dies verwenden:

if total >= 100.00: 
    print() 
else: 
+0

also, indem nichts in die Klammer gesetzt wird, springt es automatisch zum nächsten, wenn? Wenn ja, gibt es eine Möglichkeit, hier eine Frage zu stellen? – mrsga16eats

1

Sie sollten beginnen, indem Sie den Wert der Bestellung überprüfen. Wie Sie gesagt haben, wenn es über $ 100 ist, dann ist das Gewicht nicht wichtig, weil es sowieso versandkostenfrei ist. Sie haben diese Nummer wahrscheinlich schon an anderer Stelle in Ihrem Programm, also überprüfen Sie einfach den Wert. Dann können Sie ggf. das Gewicht überprüfen.

# value is defined earlier in the program, and contains the total cost of the purchase 
if value >= 100: 
    print "You quality for free shipping!" 
else: 
    weight = int(input("Enter the weight of your order: ")) 
    # Now determine shipping cost 
    if weight > 40: 
     total = weight * 1.09 
    elif weight > 20: 
     total = weight * 0.99 
    else: # because there should only be weights equal to or below 20 remaining 
     total = weight * 0.89 

Jetzt können Sie dem Benutzer eine Summe präsentieren, oder andere Dinge tun, die Sie wollen.