Kodunuzu Çalıştırmaya Çalıştığınızda Aldığınız Hata:
password = "".join(random.sample(Use_for, length_for_python))
NameError: name 'length_for_python' is not defined. Did you mean: 'length_for_pass'?
bu hatanın içeriğinde size length_for_python isimli bir değişkenin tanımlı olmadığını onun için bu değişkeni kullanamayacağını söylüyor, ek olarak size bir soru soruyor, length_for_python değişkeni tanımlı değil, length_for_pass değişkeninimi kullanmak istediniz? gibi bir soru soruyor, hatayı düzeltmek için sadece hatalı olarak girilen değişken yerine doğru değişkeni yerleştirmek yeticektir, EK OLARAK!! print bölümünde sadece your generated password yazıyor yani kod hata vermese bile bu şekilde oluşturulan şifreye ulaşamazsınız, doğru çalışması için şifreyide print'in içine yerleştirdiğimizde... güncel kod:
import random
lower_case = "abcdefghijklmnopqrstuvwxyz"
upper_case = "ABCDEFGHİJKLMNOPQRSTUVWXYZ"
number = "0123456789"
symbols = "@#$%&*/\?"
Use_for = lower_case + upper_case + number + symbols
length_for_pass = 8
password = "".join(random.sample(Use_for, length_for_pass))
print(f"Your Generated Password: {password}")
Ek olarak eğer bu kodu türkçeleştirmek ve daha basit bir hale getirmek isterseniz şu kodu kullanabilirsiniz:
from random import sample
hane = int(input('Şifreniz Kaç Haneli Olsun>>'))
kucuk_harfler = "abcdefghijklmnopqrstuvwxyz"
buyuk_harfler = "ABCDEFGHİJKLMNOPQRSTUVWXYZ"
sayilar = "0123456789"
semboller = "@#$%&*/\?"
birlesim = kucuk_harfler + buyuk_harfler + sayilar + semboller
sifre = "".join(sample(birlesim, hane))
print(f"Oluşturulan Şifreniz: {sifre}")
Son Olarak Mevcut Kodun Daha Kısa Ama Karışık Hali:
from random import sample;sifreolustur="abcdefghijklmnopqrstuvwxyz"+"ABCDEFGHİJKLMNOPQRSTUVWXYZ"+"0123456789"+"@#$%&*/\?";print(f'Oluşturulan Şifreniz: {"".join(sample(sifreolustur, int(input("Şifreniz Kaç Haneli Olsun>>"))))}')