Çö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

Hectopat
Katılım
30 Mayıs 2021
Mesajlar
2.469
Makaleler
1
Çözümler
12
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
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.
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.
 
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.
 

Eğer ikinci girdiğin isim ahmet kelimesini içeriyorsa hata verir.
 
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
find methodunu üstte açıkladım. bakarsanız method hakkında fikir sahibi olabilirsiniz. Derste yaptığınız benzer kod nasıldı ?
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…