programa iniciante em Python usando estrutura de iteração baseada em contagem

Nov 13 2020

Estou em uma aula de programação Python para iniciantes e devíamos escrever um programa que gerasse uma descrição do item, seu preço e o total. O programa que escrevi originalmente usava LISTAS, o que me rendeu um grande 0 para a tarefa porque, aparentemente, não deveríamos usar listas nesta tarefa. Felizmente para mim, posso reescrever. SO, devo usar uma estrutura de iteração baseada em contagem, posso usar a instrução “for” ou ambas as instruções “for” e “while”. Mas NÃO apenas a declaração “while” sozinha (baseada na contagem, não baseada no evento). Não sei qual combinação seria mais eficaz. Anexei meu programa, mas não acho que seja muito bom, a estrutura simplesmente me parece ruim. Se alguém pudesse me dar alguma orientação sobre como eu poderia fazer isso parecer melhor, ou como eu poderia melhorá-lo, eu agradeceria imensamente. Eu procurei em todos os lugares por um exemplo que não inclua listas ou alguma coisa maluca (eu sou um iniciante, então usamos coisas para iniciantes), mas não tive sorte. Por fim, gostaria de dizer novamente, NÃO POSSO usar LISTAS, agradeço a todos antecipadamente.

O problema:

Utilize uma estrutura de iteração baseada em contagem que aceitará os dados listados abaixo e produzirá o valor total da compra. Seu relatório final deve ser semelhante ao mostrado abaixo.

Dados de entrada:

Item Description    Item Price
Salomon Fish        $ 26.97 Ribeye Steak $ 12.98
Sweet Corn          $ 4.96 Asparagus $ 5.92

Resultado:

Item Description       Item Price

=================================

Salomon Fish            $ 26.97 Ribeye Steak $ 12.98

Sweet Corn              $ 4.96 Asparagus $ 5.92

Your total purchase: $ xx.xx

Meu código: (desculpe se a formatação estiver errada, nunca postei aqui)

fish=int(input("enter fish price ===> "))
corn=int(input("enter corn price ===> "))
steak=int(input("enter steak price ===> "))
asparagus=int(input("enter asparagus price ===> "))
for x in range (1,fish+1,1):
    total=x
for y in range(1,corn+1,1):
    total=x+y
for z in range(1,steak+1,1):
    total=x+y+z
for i in range(1,asparagus+1,1):
    total=x+y+z+i
print("Item Description   Item Price")
print("==============================")
print("Fish              $",fish)
print("Corn              $",corn) print("Steak $",steak)
print("Asparagus         $",asparagus)
print("Your Total Purchase:", total)

a saída é:

enter fish price ===> 5
enter corn price ===> 5
enter steak price ===> 5
enter asparagus price ===> 5
Item Description   Item Price
==============================
Fish              $ 5
Corn              $ 5 Steak $ 5
Asparagus         $ 5
Your Total Purchase: 20

Respostas

Prune Nov 14 2020 at 01:50

Concordo com Mark Meyer: a atribuição não especifica a entrada. Você se saiu muito bem com seu estilo de programação. Dadas as restrições, sugiro apenas algumas melhorias:

  • Use uma variável total corrente para a soma.
  • Dê a ele um nome significativo. x, y, z não têm sentido.

Aqui, a contagem em execução seria algo como:

total = 0
total += fish
total += corn
...