Python T.C. kimlik numarası bulma kodunda hata mı var?

a bir string. a[i] deyip a'nın i indeksli elemanına erişebiliyoruz. Ama eriştiğimiz eleman string oluyor (sanırım). int(eriştiğimiz eleman) şeklinde yapınca onu integer yapmış oluyor. Bu sayede aritmetik bir işlem olan += operatörünü kullanabiliyoruz. O da aslında şu şekilde çalışıyor: a += b için a = a + b ile aynı şey.
 
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.


YouTube da bir kişi tarafından önceden yapılmış, istersen izleyebilirsin. Direk 15.40'tan başla izlemeye.
 
Python:
a = str(input("T.C. kimlik numaranızın ilk 9 hanesini giriniz:"))#kullanıcıdan ilk 9 hane string olarak alınıyor.
count = 0 #sayaç
double = 0 #çift hanelerin tutulduğu değişken
single = 0 #tek hanelerin tutulduğu değişken

for i in a: #a stringinin içerisinde i dönüyor
    count += 1 # sayaç başladı.
    #sayaç 1 oldu. Yani ilk rakamdayım.
    i = int(i) # i string ti bize int lazım
    if count%2 == 0: #sayacın 2'ye bölümünden kalan 0 ise çift haneler
        double = double + i #double değişkeni i ile toplanıp tekrar double değişkenine atanıyor.
    else: #değilse tek haneler
        single = single + i #single değişkeni i ile toplanıp tekrar single değişkenine atanıyor.
a = int(a)*100 #a int olarak çevrildi. son iki basamak tahmini yapıldığı için 100 ile çarpıldı.
number_11 = (single*8)%10  #birler basamağını bulduk
number_10 = (((single * 7) - (double))%10)*10 #onlar basamağını bulduk
print("T.C. Kimlik No:",a+(number_10)+number_11) #TC kimlik no bastırdık
umarım faydalı olur
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı