1
resposta

[Projeto] Resolução

Só quis garantir que os dados entrariam de uma forma mais organizada (ainda tem o que melhorar nesse código daqui)

import re

product = {}

name_template = r'[^\W\d_]+'
quantity_template = r'[0-9]+'

while True:
    
    for i in range(3):
        name = input("Digite o nome do produto: ").title().strip()
        quantity = input("Digite a quantidade: ").strip()
        if (re.fullmatch(name_template, name)) and (re.fullmatch(quantity_template, quantity)):
            product[name] = quantity 
        else:
            print("Existe algum erro na formatação dos dados. Encerrando o processo com os dados já existentes.\n")
            break
    
    break

if product:
    print(f"Dicionário de produtos: {product}") 

Isso resulta numa saída tal que:

Digite o nome do produto:              sabão
Digite a quantidade:                   99
Digite o nome do produto: Polenta
Digite a quantidade: 35
Digite o nome do produto: x
Digite a quantidade: x
Existe algum erro na formatação dos dados. Encerrando o processo com os dados já existentes.

Dicionário de produtos: {'Sabão': '99', 'Polenta': '35'}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Estudante! Como vai?

Agradeço por compartilhar.

Gostei da sua solução, usar expressões regulares para validar os dados foi uma ótima escolha. Isso ajuda a deixar o programa mais confiável e evita entradas incorretas.

Continue aprimorando seu código, adicionando validações mais específicas ou mensagens personalizadas para cada tipo de erro.

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