Merhaba Yazdığım kodda def sistem_bilgilerini_gir(sistem_adi): fonksiyonu içindeki while döngüsünde kullanıcı hatalı giriş yaptığında Örnek olarak fiyat girilecek yerde string bir değer girildiğinde hata mesajını versin ve aynı soruyu tekrar doğru cevap alana kadar sorsun istiyorum fakat en başa dönüp ilk sorudan tekrardan daha önce cevaplanan soruları tekrardan yanıtlamak zorunda kalıyorum. break ile işlemi gerçekleştirdiğimde de hata veriyor. gemini copilot gpt3 gibi yapay zeka sitelerinden aldığım cevaplarla da sorunu çözemedim. Yardımcı olmanızı rica ederim.
Not. Özellikle Kodlama konusunda en iyi cevaplara ulaşabileceğim Aİ siteleri konusunda tavsiyelerinize de ihtiyacım var. Yardımlarınız için teşekkür ederim.
class Sistem:
marka = "Winperax"
tax = [8, 20, 25]
def __init__(self, sistem_adi, en, boy, renk, fiyat):
self.sistem_adi = sistem_adi
self.en = en
self.boy = boy
self.renk = renk
self.fiyat = fiyat
def sistem_sec():
sistemler = ["Termessos", "Apollon", "Sky Phaselis", "Likya"]
for i, sistem_adi in enumerate(sistemler):
print(f"{i + 1}. {sistem_adi}")
while True:
try:
secim = int(input("Lütfen Teklif verilecek sistemi listeden seçin (1-4): "))
if 1 <= secim <= len(sistemler):
return sistemler[secim - 1]
else:
print("Geçersiz seçim. Lütfen 1-4 arasında bir değer giriniz.")
except ValueError:
print("Geçersiz giriş. Lütfen bir tamsayı giriniz.")
def sistem_bilgilerini_gir(sistem_adi):
while True:
try:
en = float(input("Eni giriniz: "))
boy = float(input("Boyunu giriniz: "))
renk = input("Rengini giriniz: ")
fiyat = float(input("Fiyatını giriniz: "))
return Sistem(sistem_adi, en, boy, renk, fiyat)
except ValueError:
print("Geçersiz giriş. Lütfen doğru bir sayısal değer giriniz.")
continue
def main():
guncel_sistem_adi = sistem_sec()
guncel_sistem = sistem_bilgilerini_gir(guncel_sistem_adi)
print("Hesaplanan sistemin teklif bilgileri:")
print("Marka:", guncel_sistem.marka)
print("Sistem Adı:", guncel_sistem.sistem_adi)
print("En:", guncel_sistem.en)
print("Boy:", guncel_sistem.boy)
print("Renk:", guncel_sistem.renk)
print("Fiyat:", guncel_sistem.fiyat)
if __name__ == "__main__":
main()
Özür dilerim yanlış mı ifade ettim bilemiyorum. Ben bu kontrolü
def sistem_bilgilerini_gir(sistem_adi): fonksiyonunda ki döngünün içinde uygulamak istiyorum. inputdan dönen değer istenen veri tipine uymuyorsa döngü kaldığı yerden doğru veri tipinde cevap gelene kadar aynı soruyu sorsun istiyorum. Sil baştan en başa dönmesin zaten kullanıcı doğru veri tiplerinde giriş yapmıştı önceki soruların verilen cevaplarında. Bu yüzden Kodunuzu kendi kodumda istediğim şekilde sonuç dönmesi için doğru bir şekilde nasıl kullanabilirim anlayamadım.