Python if if,elif,else if if is not true时的问题跳过

时间:2016-05-28 03:40:50

标签: python

我试图编写一个计算程序,提示用户输入订单的价值和重量,并显示运费。

在线订单的运费根据订单价值和运费重量计算。 100美元以上没有运费,订单少于100美元的运费如下: 超过40磅:每磅1.09美元。 超过20磅:每磅0.99美元。 等于或低于20磅:每磅0.89美元。

如果订单价值为100美元+,则重量无关紧要,您的程序不应该要求它。

到目前为止,这就是我所拥有的:

#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

我不确定从这里去哪里以及将什么放入其他字符串下运送申请。

2 个答案:

答案 0 :(得分:1)

您不应该使用else,而只使用print。或者您可以使用它:

if total >= 100.00:
    print()
else:

答案 1 :(得分:1)

您应该首先检查订单的价值。正如你所说,如果它超过100美元,那么重量并不重要,因为它无论如何都是免费送货。您可能已从程序中的其他位置获得该数字,因此请检查该值。然后,如有必要,您可以继续检查重量。

# 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

现在,您可以向用户显示总数,或者执行您想要的任何其他操作。