Çö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
890
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 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.
Ben test ettim, çalışıyor.
 
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.
Oldu fakat and kısmında sonra yazdığımız kodun amacını anlayamadım. Boşluklar için mi ? Onun yerine strip kullansam.
@Ecmel
@Ecmel ?
 
Son düzenleme:
Oldu fakat and kısmında sonra yazdığımız kodun amacını anlayamadım. Boşluklar için mi ? Onun yerine strip kullansam.
Oradan sonraki kısmı editörde inceledim. GitHub Copilot öneride bulundu. Şu anda açıklamak için araştırıyordum, Python yazan birisi değilim normalde. Böyle bir işlemi de find ile hayatta yapacak birisi de değilim. :D İlk attığım örneği kullanırım yani kendim yazsam.

Find mantığına baktığımız zaman -1 sonucu dizede olmaması durumunda ortaya çıkar. Oradaki kod aynı harfin olması durumunda da çıktıyı -1 olarak verilmesini sağlıyordur yani mantık olarak öyle olması lazım. Tam açıklamasını yapmak için araştırmam lazım ama çok vaktim yok şu anda. Sonrasını ben eklemedim yani copilot tamamladı. Ben de deneyince olduğunu gördüm. Python yazan birisi daha iyi açıklayacaktır ama mantıken anlattığımdan pek farkı olduğunu sanmıyorum. Find'in çalışma prensibi belli çünkü.
 
Oradan sonraki kısmı editörde inceledim. GitHub Copilot öneride bulundu. Şu anda açıklamak için araştırıyordum, Python yazan birisi değilim normalde. Böyle bir işlemi de find ile hayatta yapacak birisi de değilim. :D İlk attığım örneği kullanırım yani kendim yazsam.

Find mantığına baktığımız zaman -1 sonucu dizede olmaması durumunda ortaya çıkar. Oradaki kod aynı harfin olması durumunda da çıktıyı -1 olarak verilmesini sağlıyordur yani mantık olarak öyle olması lazım. Tam açıklamasını yapmak için araştırmam lazım ama çok vaktim yok şu anda. Sonrasını ben eklemedim yani copilot tamamladı. Ben de deneyince olduğunu gördüm. Python yazan birisi daha iyi açıklayacaktır ama mantıken anlattığımdan pek farkı olduğunu sanmıyorum. Find'in çalışma prensibi belli çünkü.
Uğraşmayın lütfen gerisini ben hallederim:). Şu ana kadar verdiğiniz emeklerden dolayı çok teşekkür ederim.
 
Uğraşmayın lütfen gerisini ben hallederim:). Şu ana kadar verdiğiniz emeklerden dolayı çok teşekkür ederim.
Araştırırsan anlarsın zaten. Şu anda biraz sıkışık bir durumdayım ama yarı yolda kalma diye editörü açıp baktım. Copilot da ilk defa benden bağımsız doğru bir şekilde öneri yaptı şansına. :D Düzenlemeye gerek kalmadan çalıştı, mantığından anlattığımdan çok farklı olduğunu sanmıyorum. Yine de araştır, boş zamanımda ben de bakacağım.
 

Yeni konular

Geri
Yukarı