Crie uma tupla com nomes de 5 produtos e seus respectivos preços.
Exiba os produtos formatados com preços alinhados.

Passo 1

Beleza, vamos recapitular o que a gente precisa fazer. O exercício tá na parte de Python e pede pra criar uma tupla com 5 produtos (nome + preço) e depois exibir esses produtos com os preços todos alinhadinhos numa coluna. Para isso, vamos precisar:
  • Entender o que é tupla em Python;
  • Saber como iterar sobre itens de uma tupla com for;
  • Usar f-strings para formatar texto, especialmente os especificadores de largura e casas decimais.

Passo 2

Primeiro, o conceito de tupla: é uma coleção ordenada e imutável de elementos. Aqui cada elemento vai ser um par (nome, preço). Vamos criar uma tupla de exemplo com 5 produtos, tipo:
produtos = (
    ("Maçã", 2.5),
    ("Banana", 3.0),
    ("Leite", 4.75),
    ("Ovos", 0.5),
    ("Pão", 1.8),
)
Isso já resolve a parte de “criar a tupla com nomes e preços”.

Passo 3

Agora a parte de “alinhamento”. Pra deixar os preços todos na mesma coluna, a gente precisa saber qual é o nome de produto mais longo, porque o preço vai começar sempre depois desse nome. Então:
  1. Extrair só os nomes da tupla;
  2. Calcular o comprimento (número de caracteres) de cada nome;
  3. Pegar o maior deles com max().
    Em código:
maior_lng = max(len(nome) for nome, preco in produtos)

Passo 4

Com o maior_lng em mãos, a gente usa uma f-string para imprimir cada linha assim:
  • {nome:<{maior_lng}} significa “nome alinhado à esquerda, completando com espaços até maior_lng caracteres”;
  • R$ {preco:>7.2f} significa “preço alinhado à direita num campo de 7 caracteres, com 2 casas decimais”.
    O 7 aí é só um exemplo pra termos espaço pro “R$ ” mais o valor; você pode ajustar se quiser.

Passo 5

Juntando tudo, fica assim no loop:
for nome, preco in produtos:
    print(f"{nome:<{maior_lng}}  R$ {preco:>7.2f}")

Resposta

produtos = (
    ("Maçã", 2.5),
    ("Banana", 3.0),
    ("Leite", 4.75),
    ("Ovos", 0.5),
    ("Pão", 1.8),
)

# 1) Descobrir o tamanho do nome mais longo
maior_lng = max(len(nome) for nome, preco in produtos)

# 2) Imprimir com preços alinhados
for nome, preco in produtos:
    print(f"{nome:<{maior_lng}}  R$ {preco:>7.2f}")
Quando você rodar isso, vai ver algo como:
Maçã R$ 2.50
Banana R$ 3.00
Leite R$ 4.75
Ovos R$ 0.50
Pão R$ 1.80

Exercícios relacionados