ADMİN yazınca hata veriyor? strip komutu tam olarak ne işlev görüyor

Merhabalar,
Python kodu yazdım. Kodda “İ” yi , “i” yap şeklinde yazdım ama strip yazmayınca bu kod çalışmıyor.
Buradaki strip kosunun sihri nedir nasıl okumalıyım bir türlü işin içinde çıkamadım.

user değişkenin verisini kullanıcıdan al daha sonra … şeklinde nasıl olkumalıyız?

kAdi = "Admin"
sifre = 1234
 
while True:
    user = input("Kullanıcı adı: ").strip()  
    user = user.replace("İ", "i").capitalize()  # İlk harfi büyük yapma ve "İ" harfini "i" ile değiştirme
    password = input("Şifre: ")
    
    if not user.isalnum():  # kullanıcı adının da +-& gibi işlemleri yasaklama.
        print("Kullanıcı adı sadece rakam ve sayılardan oluşabilir")
        continue
    if not password.isalnum():  # Şifre +-& gibi işlemleri yasaklama.
        print("Şifre sadece rakam ve sayılardan oluşabilir")
        continue
    if not user and not password:  # kullanıcı adı boş bırakılamaz.
        print("Kullanıcı adı veya şifre boş bırakılamaz...")
        continue
    if not password.isdigit():  # Şifre sadece rakamlardan oluşmalıdır.
        print("Şifre alanı sadece rakamlardan oluşmalıdır.")    
        continue
    if not user.isalpha():  # kullanıcı adı sadece harf girişi yapmak.
        print("Sadece harf girişi olmalıdır...")
        continue
    password = int(password)  
    if user == kAdi and password == sifre:
        print("Hoşgeldiniz...")
        break
    else:
        print("Kullanıcı adı veya şifre hatalı. Lütfen tekrar giriniz...")

Merhaba,

Help on method_descriptor:

strip(self, chars=None, /)
Return a copy of the string with leading and trailing whitespace removed.

If chars is given and not None, remove characters in chars instead.

Örnek kullanım:

a = " hello"
print(a)  # " hello"
print(a.strip())   # "hello"

b = "mmerhemm"
print(b)  # "mmerhemm"
print(b.strip("m"))  # "erhe"

Bu bilgiler ışığında diyebiliriz ki, paylaştığınız kod için strip fonksiyonu, şayet input’tan gelen karakter dizisi boşluk karakteri ile başlıyor veya bitiyorsa, bu boşluk karakterlerini atar ve kalan karakterleri de geri döndürür.

1 Beğeni

Merhaba,
Öncelikle cevap için teşekkürler.
VS code editör kullanıyorum

Strip kodu dediğiniz gibi boşlukları silmek için kullanılıyor. Benim vermiş olduğum kodda strip silince

if not user.isalnum():  # kullanıcı adının da +-& gibi işlemleri yasaklama.
        print("Kullanıcı adı sadece rakam ve sayılardan oluşabilir")

Bu devreye giriyor fakat srtip() kodunu yazınca program çalışıyor şu an farklı bir editör ile deneme yaptım şu an strip() kodunu silince çalışmaya başladı. Enteresan bir durum

elif kullanabilirmisin yani şu şekilde

kAdi = "Admin"
sifre = 1234
 
while True:
    user = input("Kullanıcı adı: ").strip()  
    user = user.replace("İ", "i").capitalize()  # İlk harfi büyük yapma ve "İ" harfini "i" ile değiştirme
    password = input("Şifre: ")
    
    if not user.isalnum():  # kullanıcı adının da +-& gibi işlemleri yasaklama.
        print("Kullanıcı adı sadece rakam ve sayılardan oluşabilir")
        continue
    elif not password.isalnum():  # Şifre +-& gibi işlemleri yasaklama.
        print("Şifre sadece rakam ve sayılardan oluşabilir")
        continue
    elif not user and not password:  # kullanıcı adı boş bırakılamaz.
        print("Kullanıcı adı veya şifre boş bırakılamaz...")
        continue
    elif not password.isdigit():  # Şifre sadece rakamlardan oluşmalıdır.
        print("Şifre alanı sadece rakamlardan oluşmalıdır.")    
        continue
    elif not user.isalpha():  # kullanıcı adı sadece harf girişi yapmak.
        print("Sadece harf girişi olmalıdır...")
        continue
    password = int(password)  
    elif user == kAdi and password == sifre:
        print("Hoşgeldiniz...")
        break
    else:
        print("Kullanıcı adı veya şifre hatalı. Lütfen tekrar giriniz...")

1 Beğeni