Programa de Lanchonete em Python

1,509 views
Skip to first unread message

cspinass...@gmail.com

unread,
Nov 5, 2016, 6:46:45 PM11/5/16
to Python Brasil

Ola pessoa, td bem?
Estou aprendendo python, mas estou com muitas duvidas.

Preciso resolver o enunciado abaixo:

Create a Python program that will compute the orders for a Takeaway shop. The program will show a summary of the total order amount and the average amount per order. The user will have the option of continuing by adding additional orders.

 

An order set must contain one item from Main Menu and optionally additional items. Each order contains a number of identical order sets. The subtotal is the total amount of an order. The program should include some validation to check for missing data. If any required input is missing for the calculation, the program should display a message box showing the appropriate error message and not carry out the calculation.

 

The prices of the selling items are listed below:

Main Menu                 Price                            Additional Item           Price   

Superburger                 $6.50                           Chips                           $3.00

Hamburger                   $4.50                           Soft Drink                    $2.00

Mini Pizza                    $5.00                           Ice Cream                    $2.50

Meat Pie                       $4.00                           Juice                            $3.00

 

If the Discount voucher box is given, the customer gets 10% discount of the subtotal amount.

 

You must make use of files by storing the product names and their prices stored in the file. (Modification made)

                       

Design your user interface to fit the above requirements. Make sure that your interface is user-friendly (Looking clear, easy to understand and easy to use).  For example, your UI could look like the following:

Start Running:

*** FastTrain Take Away - Main Menu ***

1.      Superburger

2.      Hamburger

3.      Pizza   

4.      Meat Pie          

Choose menu item:             __

Quantity:  __

*** FastTrain Take Away – Additional Items ***

1.      Chips

2.      Soft Drink

3.      Ice Cream

4.      Juice

Choose additional item:  __

Quantity:  __

*** FastTrain Take Away – Discount Voucher ***

Customer has a discount voucher (Y/N):  __

 

 

After 3 orders:          

*** FastTrain Take Away – Summary ***

       Order Sub Total: $23.40

       Total Order: $74.75

       Average Order: $24.92 per order  




O que fiz ate agora foi:


def main_menu (valor, main):

    int(input("Choose your main menu, Press 1 for SUPERBURGUER $ 6.50, 2 for HAMBURGUER $ 4.50, 3 for PIZZA $ 5.00 or 4 for MEAT PIE"))
    
if main_menu == 1:
valor = 6.50
main = Superburguer
return valor

if main_menu == 2:
valor = 4.50
        main = Hamburguer
    return valor

    if main_menu == 3:
        valor = 5.00
        main = Pizza
    return valor

    if main_menu == 4:
        valor = 4.00
        main = Meat_Pie
    return valor

def qt_main(total_valor_main):
 
    qt_main = int(input("How many", main, "Do you want")
    (total_valor_main) = qt_main * valor
                  

def additional_item (valora_dd):
    
   if additional_item == 5:
       valor_add = 3.00
       add = Chips
   return add, valor_add

   if additional_item == 6:
       valor_add = 2.00
       add = Soft_Drink
   return add, valor_add


   if additional_item == 7:
       valor_add = 2.50
       add = Ice_Cream
   return add, valor_add

   if additional_item == 8:
       valor_add = 3.00
       add = Juice
   return add,valor_add

def qt_add(total_valor_add):
 
    qt_add = int(input("How many", add, "Do you want")
    total_valor_add = qt_add * valor_add

def descount (voucher):

    If voucher = Y:
    print ("You have 10% of descount!")
    descount

    If voucher = N:
    print ("You do not have any descount.")

def total():
    total = (valor_main + valor_add main)* 0.10

total()

Alguem poderia me ajudar?
Preciso entregar o trabalho hoje... =/

Gratidao!
        


             

Fabio Macedo

unread,
Nov 5, 2016, 7:01:17 PM11/5/16
to python...@googlegroups.com
Qual a sua dúvida?

Vou te ajudar, não vou fazer o código para você.
--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

cspinass...@gmail.com

unread,
Nov 7, 2016, 1:18:08 AM11/7/16
to Python Brasil
Fabio,

O codigo que fiz foi este:

Eu nao sei pq nao esta rodando e o que estou fazendo de errado...

Vc poderia me ajudar me sinalizando apenas o erro? Assim eu consigo entender o que estou fazendo de errado...

Obrigada =D

def main_menu(valor, main):

    int(input("Choose your main menu, Press 1 for SUPERBURGUER $ 6.50, 2 for HAMBURGUER $ 4.50, 3 for PIZZA $ 5.00 or 4 for MEAT PIE:"))
    
    if main_menu == 1:
        valor = 6.50
        main = Superburguer
    return valor

    if main_menu == 2:
        valor = 4.50
        main = Hamburguer
    return valor

    if main_menu == 3:
        valor = 5.00
        main = Pizza
    return valor

    if main_menu == 4:
        valor = 4.00
        main = Meat_Pie
    return valor

def qt_main(total_valor_main):
 
    qt_main = int(input("How many", main, "Do you want?")
    (total_valor_main) = qt_main * valor
                  

def additional_item(valor_add):

    additional_item = int(input("Choose your main menu, Press 5 for CHIPS $ 3.00, 6 for SOFT DRINK $ 2.00, 7 for ICE CREAM $ 2.50:"))

    if additional_item == 5:
        valor_add = 3.00
        add = Chips
    return add, valor_add

   if additional_item == 6:
       valor_add = 2.00
       add = Soft_Drink
   return add, valor_add


   if additional_item == 7:
       valor_add = 2.50
       add = Ice_Cream
   return add, valor_add

   if additional_item == 8:
       valor_add = 3.00
       add = Juice
   return add,valor_add

def qt_add(total_valor_add):
 
    qt_add = int(input("How many", add, "Do you want?")
    total_valor_add = qt_add * valor_add

def descount (voucher):

    if voucher = Y:
    descount = 0.10
    print ("You have 10% of descount!")
    

    if voucher = N:
    descount = 0
    print ("You do not have any descount.")

def total():
    totalfood = (valor_main + valor_add main)* descount
    total = (valor_main + valor_add main) - totalfood
    
total()


        


             

Fabio Macedo

unread,
Nov 7, 2016, 8:12:20 AM11/7/16
to python...@googlegroups.com
Cara, já corrigi muita coisa ai, tem muita variável errada ainda.

Vai olhando ai.

Dennis Alves

unread,
Nov 7, 2016, 8:50:42 AM11/7/16
to Python Brasil
Cara, pelo que ví do seu código, além dos erros de indentação (em python toda indentação deve ser consistente), há também alguns parênteses abertos que não foram fechados,
mas o principal que eu percebi, é que você está querendo pegar o valor de retorno a partir dos parâmetros, e a maioria dos métodos criados acabam não sendo chamados.

Na função main_menu, você está passando as variáveis "valor" e "main" como parâmetro da função, sendo que acho que o melhor no seu caso seria inicializar estas variáveis do lado de fora da função para conseguir reutilizar estas como você está tentando fazer.
 também na linha:

main = Superburguer

pelo que entendi, o Superburger é uma string, então a mesma deve estar entre aspas:

main = "Superburguer"


este tipo de erro, está por todo o seu código...

Como pelo que eu ví, você está começando, então para não se atrapalhar tanto como está fazendo, tenta escrever o código em forma procedural simples, depois tenta evoluir para criar funções.

(Um exemplo corrigido do primeiro método: http://pastebin.com/x1trAKmg )

Abraços.
Reply all
Reply to author
Forward
0 new messages