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'}