1
resposta

[Projeto] treinando condicionais

criei um programa que funciona como minha lista de compras personalisada. nele eu trabalho o uso de listas, condicionais e loopings.

print('-' * 35)
print(f'{'LISTA DE COMPRAS':^35}')
print('-' * 35)
soma_total = 0
soma_parcial = 0
valor_quantidade = 0
lista_compras = ['sabão liquido','amaciante','desinfetante','sabão em pó','agua sanitária','flotador'
                 'detergente','esponja de aço','esponja comum','veja','alcool em gel','saco de lixo',
                 'papel higienico','absorvente','protetor','creme dental','fio dental','escova de dente',
                 'shampoo','condicionador','sabonete','hidratante','contonetes','esodorante','cheirinho de banheiro',
                 'papel alumínio','filme plástico','papel toalha','arroz','feijão','macarrão','molho de tomate',
                 'açucar','sal','café','leite','achocolatado','pão de forma','manteiga','requeijão','tapioca',
                 'milharina','frofa','milho','azeitona','sardinha','maionese','ketchup','mostarda','óleo de soja',
                 'vinagre','azeite','mistura de bolo','essência de baunilha','iogurtes']
for item in lista_compras:
    while True:
        try:
            valor = input(f'digite o preço do/da {item} R$:').replace(',','.')
            quantidade = int(input('unidades do produto:'))
            preço = float(valor)
            total_por_produtos = preço * quantidade
            soma_parcial += total_por_produtos
            print(f'valor parcial da compra até agora:\n R$ {soma_parcial}')
            break
        except ValueError:
            print('valor inválido. por favor, digite um valor válido!')
while True:
    pergunta = str(input('esqueceu algum item? ["S/N] :')).upper().strip()
    if pergunta == 'S':
        novo_produto = str(input('digite o nome do novo produto:'))
        valor = input(f'digite o valor do/da {novo_produto} : R$').replace(',','.')
        preço = float(valor)
        quantidade = int(input(f'quantas unidades do/da {novo_produto}? : '))
        total_por_produtos = preço * quantidade
        soma_parcial += total_por_produtos
    elif pergunta == 'N':
        break
    else:
        print('resposta inválidoa.  tente novamente!')
print('-'*40)
print(f' SUA COMPRA DEU UM TOTAL DE :  R$ {soma_parcial:.2f}')
print('-'*4)
1 resposta

Olá, Tamara, como vai?

O seu programa está bem interessante para praticar listas, condicionais e laços, e a ideia da lista de compras é bem adequada para esse tipo de treino. Dá para perceber claramente o uso do for para percorrer os itens, do while com try/except para validar entrada e do if e elif para tratar a adição de novos produtos.

Um ponto importante de atenção está na definição da lista_compras. Entre os itens "flotador" e "detergente" falta uma vírgula, o que faz com que o Python una essas duas palavras em uma única string. Na prática, o laço vai tratar "flotadordetergente" como um único produto. Ao ajustar isso, cada item passa a ser iterado corretamente.

Outro detalhe é que você criou as variáveis soma_total e valor_quantidade, mas elas não são utilizadas no restante do código. Nesse caso, manter apenas a soma_parcial já resolve o cálculo do total, deixando o código mais limpo.

O fórum fica à disposição caso queira continuar evoluindo esse projeto ou tirar dúvidas sobre melhorias e boas práticas.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!