Çözüldü Python kodunda hata oluşuyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

KiloZuluSierra

Decapat
Katılım
30 Mayıs 2021
Mesajlar
875
Makaleler
1
Çözümler
5
Daha fazla  
Cinsiyet
Erkek
Kullanıcı adı kontrolü yapmak istiyorum. Şartım şudur kullanıcı adında ad soyad bulununamaz. Eğer kurala uymazsa bir daha sormasını istiyorum. Denemek için hatalı cevabı giriyorum bir daha giriniz diyor (Buraya kadar sıkıntı yok) fakat bir daha doğru cevabı girsem bile bir daha giriniz yanlış diyor, anlamadım. Cevaplar için şimdiden teşekkürler.



Python:
while True:
    kul=input("Lütfen bir kullanıcı adı belirle "+str(ad)+".")
    if kul.find(ad)==:
        break
    else:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")
 
Çözüm
İlk başta adımı "ahmet" olarak tanımlıyorum. Sonra kullanıcı adına "ahmet" yazıyorum dolayısıyla bana yanlış olduğunu ve tekrar yazmam gerektiğini söylüyor .Tekrardan farklı bir şey yazıyorum yine aynı hatayı veriyor. Fakat girdiğim isim kurala uyuyor.
Python:
adsoyad=input("Lütfen bir ad soyad belirle:")
while True:
    kul=input("Lütfen bir kullanıcı adı belirle:")
    if kul.find(adsoyad)==-1 and kul.find(" ")==-1:
        print("Kullanıcı adı doğru")
        break
    else:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")
Bunu dener misin? Şu anda test edemiyorum, ondan dolayı senin test etmen gerekiyor her seferinde kusura bakma.
Python:
adsoyad=input("Lütfen bir ad soyad belirle:")
while True:
    kul=input("Lütfen bir kullanıcı adı belirle:")
    if adsoyad in kul:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")
    else:
        print("Kullanıcı adı doğru")
        break

Kodu bu şekilde değiştirirsen sorunlar çözülür. :) Bir şey gözümden kaçmış kusura bakma, bu arada kod geliştirmeye ve temizlenmeye çok açık. Kod üzerinde düşünürsen geliştirir ve daha temiz hala getirirsin. Takıldığın yer olursa söyleyebilirsin.
Bu çalışacak sanırım fakat bu benim ödevim ve öğretmenimiz ".find" komuduyla yapmamızı söyledi o komutla yapamaz mıyım? Yinede teşekkürler:)
 
Bu çalışacak sanırım fakat bu benim ödevim ve öğretmenimiz ".find" komutuyla yapmamızı söyledi o komutla yapamaz mıyım? Yine de teşekkürler:)
Python:
adsoyad=input("Lütfen bir ad soyad belirle:")
while True:
    kul=input("Lütfen bir kullanıcı adı belirle:")
    if kul.find(adsoyad)==-1:
        print("Kullanıcı adı doğru")
        break
    else:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")

Onu da yaparız. Şart olduğunu söyleseydin onla yapardım. Gözümden kaçan şey şu "==-1" kısmıydı fakat find kullanmadan yapmanın da bir seçenek olduğunu düşünüp öyle yapmıştır. Kullanman şartsa bu kod çalışır, yine de bir dene istersen.

Bu arada ödevinse kodu iyice anlıyorsun, anlamadığın yeri soruyorsun. Öğrenemediğin sürece gelişemezsin. Hazırcılık yok, ödevin olduğunu bilsem direkt kodu yazmaz mantığını verirdim de iş işten geçti. :) Sen dediğim gibi yaparsan sorun yok ama.
 
.find() dizide/listede kullanlılan .index() methoduna bi hayli benziyor.
ikiside ilgili değişkende istenen harfin,sayının(string olarak) indeksine/indisine karşılık gelen elemanı verir. Örnek olarak:
print("abcdefg".find("b")) print(["a","b","c","d","e","f","g"].index("b"))
Çıktı:
1 1

Gözle görülür farkı sizde görmüşsünüzdür.
 
Python:
adsoyad=input("Lütfen bir ad soyad belirle:")
while True:
    kul=input("Lütfen bir kullanıcı adı belirle:")
    if kul.find(adsoyad)==-1:
        print("Kullanıcı adı doğru")
        break
    else:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")

Onu da yaparız. Şart olduğunu söyleseydin onla yapardım. Gözümden kaçan şey şu "==-1" kısmıydı fakat find kullanmadan yapmanın da bir seçenek olduğunu düşünüp öyle yapmıştır. Kullanman şartsa bu kod çalışır, yine de bir dene istersen.

Bu arada ödevinse kodu iyice anlıyorsun, anlamadığın yeri soruyorsun. Öğrenemediğin sürece gelişemezsin. Hazırcılık yok, ödevin olduğunu bilsem direkt kodu yazmaz mantığını verirdim de iş işten geçti. :) Sen dediğim gibi yaparsan sorun yok ama.
Python:
adsoyad=input("Lütfen bir ad soyad belirle:")
while True:
    kul=input("Lütfen bir kullanıcı adı belirle:")
    if kul.find(adsoyad)==-1:
        print("Kullanıcı adı doğru")
        break
    else:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")

Onu da yaparız. Şart olduğunu söyleseydin onla yapardım. Gözümden kaçan şey şu "==-1" kısmıydı fakat find kullanmadan yapmanın da bir seçenek olduğunu düşünüp öyle yapmıştır. Kullanman şartsa bu kod çalışır, yine de bir dene istersen.

Bu arada ödevinse kodu iyice anlıyorsun, anlamadığın yeri soruyorsun. Öğrenemediğin sürece gelişemezsin. Hazırcılık yok, ödevin olduğunu bilsem direkt kodu yazmaz mantığını verirdim de iş işten geçti. :) Sen dediğim gibi yaparsan sorun yok ama.
Ayıptır söylemesi yine olmuyor. Hazırcılık yapmadım :) 3 saattir araştırıp bulmaya çalışıyorum en son aklıma burası geldi.
 
Şu anda test ettim bir sıkıntı yok. Nerede sorun yaşıyorsun?
İlk başta adımı ahmet olarak tanımlıyorum. Sonra kullanıcı adına ahmet yazıyorum dolayısıyla bana yanlış olduğunu ve tekrar yazmam gerektiğini söylüyor .Tekrardan farklı bir şey yazıyorum yine aynı hatayı veriyor. Fakat girdiğim isim kurala uyuyor.
 
İlk başta adımı Ahmet olarak tanımlıyorum. Sonra kullanıcı adına Ahmet yazıyorum dolayısıyla bana yanlış olduğunu ve tekrar yazmam gerektiğini söylüyor. Tekrardan farklı bir şey yazıyorum yine aynı hatayı veriyor. Fakat girdiğim isim kurala uyuyor.

Eğer ikinci girdiğin isim ahmet kelimesini içeriyorsa hata verir.
 
İlk başta adımı "ahmet" olarak tanımlıyorum. Sonra kullanıcı adına "ahmet" yazıyorum dolayısıyla bana yanlış olduğunu ve tekrar yazmam gerektiğini söylüyor .Tekrardan farklı bir şey yazıyorum yine aynı hatayı veriyor. Fakat girdiğim isim kurala uyuyor.
Python:
adsoyad=input("Lütfen bir ad soyad belirle:")
while True:
    kul=input("Lütfen bir kullanıcı adı belirle:")
    if kul.find(adsoyad)==-1 and kul.find(" ")==-1:
        print("Kullanıcı adı doğru")
        break
    else:
        print("Kullanıcı adınızda, adınız ve soyadınız bulunmamalı.Lütfen tekrar deneyiniz.")
Bunu dener misin? Şu anda test edemiyorum, ondan dolayı senin test etmen gerekiyor her seferinde kusura bakma.
 
Çözüm

Geri
Yukarı