Python 打印命令不是';在我的程序中不起作用,所有其他命令似乎都起作用

Python 打印命令不是';在我的程序中不起作用,所有其他命令似乎都起作用,python,Python,我为以下活动编写了此代码: 音乐会门票每张20美元,如果10美元的话 如果买了20张票,折扣是10% 如果售出,折扣是20%。不超过25张票 可以在一次交易中购买。打印成本 购买一定数量的门票 代码似乎运行良好,除了 “如果(票证>25张): 打印(“仅25张门票/交易”) 除此之外,所有其他打印命令都可以正常打印,如果输入的值大于25,则shell中不会显示任何内容。在代码中尝试了一些不同的东西,但似乎无法修复,有什么想法吗 ticketsprice=0 tickets=0 tickets=f

我为以下活动编写了此代码:

音乐会门票每张20美元,如果10美元的话 如果买了20张票,折扣是10% 如果售出,折扣是20%。不超过25张票 可以在一次交易中购买。打印成本 购买一定数量的门票

代码似乎运行良好,除了 “如果(票证>25张): 打印(“仅25张门票/交易”) 除此之外,所有其他打印命令都可以正常打印,如果输入的值大于25,则shell中不会显示任何内容。在代码中尝试了一些不同的东西,但似乎无法修复,有什么想法吗

ticketsprice=0
tickets=0
tickets=float(input("enter number of tickets:"))
ticketsprice=(20*tickets)
ticketsprice10disc=(int(ticketsprice)-(ticketsprice/10))
ticketsprice20disc=(int(ticketsprice)-((ticketsprice/10)*2))
while (tickets<25):
    print("total price is %0.2f" %ticketsprice)

    if (tickets > 25):
     print("only 25 tickets/transaction")

    if (tickets == 10):
         print("discounted price is %0.2f" %ticketsprice10disc)

    if (tickets == 20):
        print("discounted price is %0.2f" %ticketsprice20disc)
    break
ticketsprice=0
门票=0
票证=浮动(输入(“输入票证数量:”)
票面价格=(20张*票)
票券价格10Disc=(整数(票券价格)-(票券价格/10))
票务价格20disc=(整数(票务价格)-(票务价格/10)*2))
而(门票25张):
打印(“仅25张门票/交易”)
如果(票证=10):
打印(“折扣价格为%0.2f”%ticketprice10disc)
如果(票证=20):
打印(“折扣价格为%0.2f”%ticketprice20disc)
打破
两件事:

  • 您的
    while(tickets 25)
    语句将永远触发
  • 打印语句的缩进不正确。这可能在复制粘贴时发生,但仍然是一个错误
  • 您的
    break
    语句的位置有点奇怪。当前,无论
    tickets
    的值是多少,每次迭代一次后循环都会中断。这是你想要的吗

  • 你为什么不做
    ticketsprice*0.9
    打10%的折扣和
    ticketsprice*0.8
    打20%的折扣呢?
    while (tickets<25):
    
    while True:
        tickets=float(input("enter number of tickets:"))
        ticketsprice=(20*tickets)
        print("total price is %0.2f" %ticketsprice)
    
        if (tickets > 25):
            print("only 25 tickets/transaction")
            continue
        break
    
    if (tickets == 10):
        ticketsprice10disc=(int(ticketsprice)-(ticketsprice/10))
        print("discounted price is %0.2f" %ticketsprice10disc)
    
    if (tickets == 20):
        ticketsprice20disc=(int(ticketsprice)-((ticketsprice/10)*2))
        print("discounted price is %0.2f" %ticketsprice20disc)