如何在不退出的情况下多次运行此程序?

2024-07-01 06:47:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望supermercado()在完成后再次执行。你知道吗

代码如下:

def supermercado():

    """

    problema: realizar software para una tienda/micro empresa/supermercado/
    que facture lo comprado por un cliente.

    entrada: nombre del mesero, mesa, cantidad de productos, totalidad, cambio,
    tipo de metodo de pago.

    salida: software de facturacion terminado.

    """
    print("""                    MAC DONALDS INC.
                   CRA 24C # 49 - 39
                      CALI, VALLE
         TELEFONO 342 1470 CELULAR 317 3799890
    """)

    print("")

    mesero = str(input("Nombre del mesero que atendio pedido: "))
    mesa = input("Que mesa fue atendida: ")
    producto = input("Producto a llevar: ")
    precio_total = int((int(input("Añada precio del producto: ")))* (int(input("Cantidad del producto: "))))

    #preguntaremos si necesita otro producto en su pedido

    print("")
    print("")
    print("Si quieres añadir mas productos marca Y o Marque otra tecla para finalizar con la compra")
    print("")
    mas_productos = input("Añadir mas productos: ")

    while mas_productos == ("Y") or mas_productos == ("y"):

        producto = str((producto) + " , " + input("Producto a llevar: "))
        precio_total = int( (precio_total) + int((int(input("Añada precio del producto: ")))* (int(input("Cantidad del producto: ")))))
        total_producto =  int(((precio_total) + ((precio_total * 8)/(100))))
        mas_productos = input("Añadir mas productos: ")

    total_producto =  int(((precio_total) + ((precio_total * 8)/(100))))
    print("")
    print("")
    print("Precio total $ " + str(total_producto))
    print("")
    print("")
    print("""Medios de pago disponible:

1 - Tarjeta de credito (5% de descuento en su compra)
2 - Dinero en efectivo.
3 - Bonos de descuento. """)

    print("")
    print("")
    pago = int(input("Medio de pago a usar: "))

    if pago == 1:

        print("")
        pago_tarjeta = int(((total_producto) - ((total_producto * 5)/(100))))
        print("Te atendio " + mesero)
        print("")
        print("Compraste los siguentes productos: " + producto)
        print("")
        print("El precio total a pagar fue $ " + str(pago_tarjeta))
        print("")
        print("GRACIAS POR TU COMPRA, ¡TE ESPERAMOS DE NUEVO!")


    if pago == 2:

        dinero_cliente = int(input("Efectivo Dado: "))

        pago_efectivo = int((dinero_cliente) - (total_producto))

        print("")                   
        print("Te atendio " + mesero)
        print("")
        print("Compraste los siguentes productos: " + producto)
        print("")
        print("El precio total a pagar fue $ " + str(total_producto))
        print("Cambio dado: " + str(pago_efectivo))
        print("")
        print("GRACIAS POR TU COMPRA, ¡TE ESPERAMOS DE NUEVO!")

    if pago == 3:

        bono = int(input("Por cuanto monto de dinero es el bono: "))

        if bono == total_producto:

            print("")       
            print("Te atendio " + mesero)
            print("")
            print("Compraste los siguentes productos: " + producto)
            print("")
            print("Gracias por utilizar tu bono, la compra fue paga a su totalidad")
            print("")
            print("GRACIAS POR TU COMPRA, ¡TE ESPERAMOS DE NUEVO!")

        elif bono < total_producto:

            print("")
            print("Te atendio " + mesero)
            print("")
            bono_devuelta = int((total_producto) - (bono))
            print("Tienes que dar de excedente $ " + str(bono_devuelta))
            print("Compraste los siguentes productos: " + producto)
            print("")
            print("Gracias por utilizar tu bono")
            print("")
            print("GRACIAS POR TU COMPRA, ¡TE ESPERAMOS DE NUEVO!")


        elif bono > total_producto:

            print("")
            print("Te atendio " + mesero)
            print("")
            bono_disponible = int((bono) - (total_producto))
            print("Tienes disponible en tu bono $ " + str(bono_disponible) + " Para tu proxima compra")
            print("Compraste los siguentes productos: " + producto)
            print("")
            print("Gracias por utilizar tu bono")
            print("")
            print("GRACIAS POR TU COMPRA, ¡TE ESPERAMOS DE NUEVO!")

        else:
            print("Te atendio " + mesero)
            print("")
            print("GRACIAS POR VENIR A VISITARNOS, ¡TE ESPERAMOS DE NUEVO!")

supermercado()

Tags: inputdeinttotalmasprintdelstr
2条回答

简单的修复。这完全取决于你想运行它多少次。我用一个简单的交互式程序来解决这个问题。在你的例子中,它看起来像这样:

active = True
while active:
    supermercado()
    reply = input("Run again? ('y'/ 'n') > ")
    reply.lower()
    if reply == "y":
        active = True
    else:
        active = False

这允许您根据用户的需要多次调用程序。当用户不再希望运行程序时,他们输入“n”,程序自动关闭。你知道吗

祝你好运!你知道吗

您想要:

while True:
    supermercado()

什么?你知道吗

相关问题 更多 >

    热门问题