sayıma dayalı yineleme yapısını kullanan başlangıç ​​Python programı

Nov 13 2020

Yeni başlayan bir Python programlama sınıfındayım ve bir ürün açıklaması, fiyatı ve toplamı oluşturan bir program yazacaktık. Başlangıçta yazdığım program LISTS'i kullandı, bu da bana ödev için yağ 0 kazandırdı çünkü görünüşe göre bu görevde listeleri kullanmayacaktık. Neyse ki benim için yeniden yazıyorum. Yani, sayıma dayalı bir yineleme yapısı kullanmam gerekiyor, "for" ifadesini veya hem "for" hem de "while" ifadelerini kullanabilirim. Ancak yalnızca "while" ifadesi DEĞİL (sayıma dayalı değil, olaya dayalı). Hangi kombinasyonun en etkili olacağını bilmiyorum. Programımı ekledim ama çok iyi olduğunu düşünmüyorum, yapısı bana kötü geliyor. Biri bana bunu nasıl daha iyi hale getirebileceğim veya onu nasıl geliştirebileceğim konusunda rehberlik edebilseydi, çok memnun olurdum. Listeleri veya bazı çılgın şeyleri içermeyen bir örnek için tepeden tırnağa araştırdım (acemiyim, bu yüzden yeni başlayan şeyler kullanıyoruz) ama hiç şansım olmadı. Son olarak, LİSTELERİ KULLANAMAZIM, hepinize şimdiden teşekkür etmek istiyorum.

Sorun:

Aşağıda listelenen verileri kabul edecek ve toplam satın alma tutarını üretecek, sayıya dayalı bir yineleme yapısı kullanın. Nihai raporunuz aşağıda gösterilene benzer olmalıdır.

Giriş Verileri:

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

Çıktı:

Item Description       Item Price

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

Salomon Fish            $ 26.97 Ribeye Steak $ 12.98

Sweet Corn              $ 4.96 Asparagus $ 5.92

Your total purchase: $ xx.xx

Kodum: (biçimlendirme yanlışsa özür dilerim, burada hiç yayınlamadım)

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)

çıktı:

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

Yanıtlar

Prune Nov 14 2020 at 01:50

Şu konuda hemfikirim Mark Meyer: atama girişi belirtmiyor. Programlama stilinizle yeterince iyi iş çıkardınız. Kısıtlamalar göz önüne alındığında, yalnızca birkaç iyileştirme öneriyorum:

  • Toplam için değişen bir toplam değişken kullanın.
  • Ona anlamlı bir isim verin. x, y, z anlamsızdır.

Burada, koşu çetelesi şuna benzer:

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