Girdiyi istenilen biçimde alana kadar yineleme

Merhaba, kullanıcıdan almak istediğim veriler var. Bunların bir kısmı “ValueError” olduğundan try-except olarak yineleme yapabildim ancak cinsiyet girdisi olarak tasarladığım bölümde, yanlış olduğu sürece yineleyecek ve doğru olduğunda bitecek döngüyü oluşturamadım.
Bu şekilde;

while True:
    try:
        kilo = int(input("Kilonuzu giriniz: "))
        break
    except ValueError:
        print("Lütfen kilonuzu doğru giriniz!")

while True:
    try:
        boy = int(input("Boyunuzu giriniz: "))
        break
    except ValueError:
        print("Lütfen boyunuzu doğru giriniz!")

while True:
    try:
        dogut = int(input("Doğum yılınızı giriniz: "))
        break
    except ValueError:
        print("Lütfen doğum yılınızı doğru giriniz!")

cins_girdisi = input("Cinsiyetinizi giriniz: ")
while cins_girdisi != "e" or "E" or "k" or "K":
    print("Lütfen cinsiyetinizi doğru belirtiniz.")
    cins_girdisi = input("Cinsiyetinizi giriniz: ")

Yardımcı olursanız sevinirim.
Teşekkürler.

cins_girdisi = input("Cinsiyetinizi giriniz: ")
while True:
    if cins_girdisi != "e" or "E" or "k" or "K":
        print("Lütfen cinsiyetinizi doğru belirtiniz.")
        cins_girdisi = input("Cinsiyetinizi giriniz: ")

    else:
        break
        

1 Beğeni

yada cinsiyeti 1 erkek 2 kız yapıp yukarıda kullandığın yöntemin aynısını kullanabilirsin

1 Beğeni


while cins_girdisi != "e" or cins_girdisi !=  "E" or cins_girdisi !=  "k" or cins_girdisi !=  "K":

Olarak düzenler misiniz?

or’dan sonra sadece bir karakter görüyor ve bu karakter 0 veya boş olmadığı için otomatik olarak true döndürüyor.

Bu da sonsuz döngüye giriyor ne yazık ki.

Bu da olmadı ne yazık ki.

böyle daha doğru oldu galiba

cins_girdisi = input("Cinsiyetinizi giriniz: ")
x=["e","E","k","K"]
while True:
    if cins_girdisi in x:
        break
    else:
        print("Lütfen cinsiyetinizi doğru belirtiniz.")
        cins_girdisi = input("Cinsiyetinizi giriniz: ")


        

Bu şahane oldu, sağ ol.

Bu da iyi bir fikir, sağ ol. Ben özellikle metinsel veri üzerinden gitmek istedim.

1 Beğeni