Arkadaşlar merhaba. Aşağıdaki inputun, kullanıcı kapatana kadar devam etmesini istiyorum:
ad = input("Lütfen kumaş adı giriniz: ")
if ad == (kumasad[“kumasad”]):
print("Stoktaki miktar: ", kumasad[“kg”]+ skg,“kg.”)
elif ad == (kumasad[“kumasad2”]):
print("Stoktaki miktar: ", kumasad[“kg2”] + skg2,“kg.”)
elif ad == (kumasad[“kumasad3”]):
print("Stoktaki miktar: ", kumasad[“kg3”]+ skg3,“kg.”)
elif ad == (kumasad[“kumasad4”]):
print("Stoktaki miktar: ", kumasad[“kg4”]+ skg4, “m.”)
else:
print(“Lütfen doğru bir değer giriniz.”)
While döngüsünü tam olarak nerede girmeliyim ve ne yazmalıyım?
Ayrıca, bu kodları yazarken de bir dictionary kurdum kendimce. Ancak sözlükleri tam olarak hangi “veriler” için kullanmam gerektiğini kestiremiyorum. Mesela şöyle bir örnek göstereyim:
amacım, bir tekstil firmasında kayıtlı olan kumaş stoğunu ve gelen yeni miktarları bu stoğa ekleyerek toplamını takip edecek bir program yazmak istiyorum. ancak kumaşları bu şekilde sıralamalı mıyım? yoksa her bir kumaş için farklı bir değişken mi açmalıyım? ya da liste mi kullanmalıyım?
sözlük kullanımı burada doğru olur mu?
henüz yeni başladığım için kavramları karıştırıyor olabilirim. destekleriniz için şimdiden teşekkürler.
Eğer program hiç kapanmıycaksa doğru ama stok bilgisi gibi şeyleri program kapandıktan sonra tekrar açtığında da aynı kalmasını istiyosan bir database oluşturmalısın. En basit olarak database’i txt dosyasına bişeyler yazdırarak yapabilirsin. Mesela gelen kumaş ve giden kumaş diye 2 input alır kullanıcıdan daha sonra read() ile okursun stoktaki kumaşı gelen kumaş ile database’de ki sayıyı toplar ve giden kumaşı çıkarır. Her kumaş türü için ayrı input ve txt belgesi kullanırsın. While’da olmayan özellikler while’da var gibi düşünüyorsun. GitHub’dan döngüler üzerine olan projeleri inceleyebilirsin. Database oluşturmanın farklı yolları da var ama ben kullanmıyorum açıkçası biraz kafa karıştırıcı (MySQL, vs vs)
Esasen söylediğiniz gibi çok da detaylı bir şeyler yazamayacağım belli ki. Ancak bir IDE üzerinde çalıştırabileceğim ufak çaplı denemeler yapıyorum kendimce
İstihzanın belgelerinde bir inputu döngüye sokabileceğimizi okuduğumu hatırlıyorum ancak beceremedim pek. Yani kullanıcı kumaş adını girdiği zaman kumaşın stoktaki kilosu gözüküyor ancak program sonlanıyor. Ben istiyorum ki hemen altında tekrar "Lütfen kumaş adı giriniz: " inputu çalışsın.
En azından While mantığını anlamak açısından desteklerinizi beklerim. Teşekkürler cevabınız için
While’ı en başa koymalısınız. İnputlar ve outputlar zaten içerde yazılmış olduğu için istediğiniz sonucu alırsınız. Tüm kodları def içine alıp while’ın içine sadece def ismini koyabilirsiniz yine hepsini while’a koymakla aynı sonucu elde edersiniz.
While için;
-while koşullu tekrar edebilir “While i < 1:” gibi
-break ile while dan çıkarsınız
-koşulsuz da tekrar edebilir
-o kadar işte
Tekrar etmesini istediğimiz bütün bölümü döngünün içine koyuyoruz.
Döngünün sürekli devam etmesi için while True kullanabilirsiniz.
Burada ve kodunuzda birer birer artan sayılar göze çarpıyor, nesnelere sıralı tam sayılarla erişilecekse liste kullanılmalı. Liste kullanırsak list.index ile koddaki if’lerden de kurtulabiliriz.
Kumaşlar için ayrı bir liste, ağırlıklar için ayrı bir liste olabilir.
Tüm cevaplar için teşekkür ediyorum. Söylediğiniz gibi While döngüsünü çalıştırabildim. Henüz veritabanı ile ilgili konulara gelmeden yalnızca pratik yapmaya çalışıyorum. Mazur görün