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...")
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.
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
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...")