如何创建免费送货功能?

时间:2019-01-24 17:04:40

标签: python

你好,我是python和编程的新手,我的任务之一是创建一个收银机或愿望清单。我想知道如果大于25或50的免费送货方式,我有点了解,但是却不太了解或没有得到输出,我想更改或添加“免费送货” 。作业不需要这样做,只是想知道如何做以备将来参考。

def main():

    item1 = input(" Item Name ")
    item2 = input(" Item Name 2")
    item3 = input(" Item Name 3")



    var1 = float(input(" Item Cost 1"))
    var2 = float(input(" Item Cost 2"))
    var3 = float(input(" Item Cost 3"))

    # Shipping Handling
    shipping= 5.99

    total = var1 + var2 + var3 
    if total > float(50.00):
        print("Free Shipping")
    tax= total*.065
    subTotal= str(total)

                                                                    # Total of everything 
    totalofEvery=total + float(tax) + float(str(shipping))



    print("Items Ordered:")

    print("")
    print("Items"+"                                            Cost")
    print( item1 + " " + "                                               "+"$" +str(var1,)) +"  "

    print( item2 + " " + "                                               "+"$" +str(var2)) +"  "

    print( item3 + " " + "                                               "+"$" +str(var3)) +"  "
    print(" ")
    print("_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _")
    print("Subtotal: " +"                                       "+"$"+ subTotal)
    print("Shipping Fee" + ":" + "                                    "+"$" + str(float(shipping)))
    print("Tax"+":" + "                                             " +"$" +str(tax))
    print("Here is your order total "+":" +"                       "+"$"+str(totalofEvery))

main()

1 个答案:

答案 0 :(得分:0)

在这里,我将简化G. Anderson的回答。这样可以解决您的运输问题:

if total > float(50.00):
   print("Free Shipping")
   shipping = 0.0 # this is what you need, inside the if statement

您还存在一些语法错误以及我评论过的奇怪的转换。在第29行上,将str(var1,))更改为str(var1)

将所有第二个括号移到第29、31和33行的行尾。

例如:

print( item2 + " " + "                                               "+"$" +str(var2)) +"  "

应该是:

print( item2 + " " + "                                               "+"$" +str(var2) +"  ")

这应该使它按预期工作。

编辑:您的注释:使用str.format,请参见以下示例,并用其替换所有item / var打印语句。我任意选择了25个空格以尝试匹配您以前的打印语句。

print("{:<25s}{:>25s}".format(item1, "$" + str(var1)))