Preciso de ajuda Para entender esse sistema While

1. Preciso de ajuda Para entender esse sistema While

FELIPE G WALTRICK
felipegw

(usa Outra)

Enviado em 03/08/2022 - 17:59h

Estou desenvolvendo esse codigo, mas to com dificuldade de recomeçar o código do início quando chega em 'Deseja mais uma pizza'?
Teve uma vez que consegui , mas ai ia resomando tudo virava uma bola de neve...
Se puderem me dar umas dicas , agradeceria muito,
**********************************************************************************************************
:
valor = 0
print('Bem vindos a Pizzaria do Ganz')
(print(' '))


print(" ----- CARDÁPIO -----")
print("Código Descrição Pizza Média Pizza Grande")
print("21 | Napolitana | R$20,00 | R$26,00")
print("22 | Margherita | R$20,00 | R$26,00")
print("23 | Calabresa | R$25,00 | R$32,50")
print("24 | Toscana | R$30,00 | R$39,00")
print("25 | Portuguesa | R$30,00 | R$39,00")

codigo = input( "Entre com o código desejado: ") # aqui serve para dar entrada no código da pizza
while True:
if codigo == "21":
valor = valor + 20
elif codigo == "22":
valor = valor + 20
elif codigo == "23":
valor = valor + 25
elif codigo == "24":
valor = valor + 30
elif codigo == "25":
valor = valor + 30
else:
print('Comando inválido')
break

tamanho = input('Qual tamanho da pizza?: (1)media / (2) grande/:')

while True:
if tamanho == '1':
valor = valor + valor * 0
break
elif tamanho == '2':
valor = valor + valor * 0.3
break
else:
print('codigo inválido')
break
print(valor)
maisUma = print(input('Deseja mais alguma Pizza? s/n :'))



  


2. Exemplo de saida

FELIPE G WALTRICK
felipegw

(usa Outra)

Enviado em 03/08/2022 - 18:00h


Precisa ficar semelhante a esse exemplo :


3. Re: Preciso de ajuda Para entender esse sistema While

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 03/08/2022 - 23:43h

Felipe, boa noite.
Elimine os " 2 whiles" existentes.

Faça:
while true;
seu codigo atual
.
.
.
maisUma = print(input('Deseja mais alguma Pizza? s/n :'))
if maisUma == "n"
break

----------------------------------------------------------------------
Ps.: Deixe o "cardápio" fora do while.

Fiz aqui em bash e funciona a contento.
Segue:

#!/usr/bin/env bash
valor=0;
lin='─────────────────────────';
menu='--------;-------;-------;--------
|Código;Descrição;Média;Grande |
--------;-------;-------;--------
|21;Napolitana;R$ 20,00;R$ 26,00 |
|22;Margherita;R$ 20,00;R$ 26,00 |
|23;Calabresa;R$ 25,00;R$ 32,50 |
|24;Toscana;R$ 30,00;R$ 39,00 |
|25;Portuguesa;R$ 30,00;R$ 39,00 |
--------;-------;-------;--------';

printf "\x1bc${menu}"|column -ts";" -o $'\t'

while :;do
printf '\n';

read -p " Informe o código: " -n2 cod
[[ "$cod" =~ (2[1-5]) ]] || { echo -e "\n Cod:$cod não é válido\n Saindo\n";break;}
awk -F"[; ]" '$1=='${cod}'{printf "\n Desc: %s\n",$2}' <<< "${menu//|}"

read -p " Informe o Tamanho [MG]: " -n1 tam

if [[ "$tam" =~ ([MmGg]) ]];then tam="${tam^}"
if [ "$tam" = "M" ];then
stt=$(awk -F"[; ]" '$1=='${cod}' {printf "%s",$4}' <<< "${menu//|/}")
else
stt=$(awk -F"[; ]" '$1=='${cod}' {printf "%s",$6}' <<< "${menu//|/}")
fi
printf "\n Sub Total: $stt\n\n"
valor=$(bc <<< "scale=2;${valor} + ${stt/,/.}");
fi

read -p " Continuar comprando [SsNn]: " -n1 maisUma
[[ "$maisUma" =~ ([Nn]) ]] && { printf "\n Pedido Encerrado.\n$lin\n Valor Total: R\$ $valor\n$lin\n";break;}
done


______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



4. Re: Preciso de ajuda Para entender esse sistema While

Perfil removido
removido

(usa Nenhuma)

Enviado em 04/08/2022 - 02:18h

Thanks for sharing such a helpful instruction, really appreciate for your article.
https://www.ltdcommodities.me/


5. Re: Preciso de ajuda Para entender esse sistema While

FELIPE G WALTRICK
felipegw

(usa Outra)

Enviado em 04/08/2022 - 10:01h


Muito obrigado pela ajuda , vou tentar aqui :D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts