Python, T.C. Kimlik numarası denetleyicisi

Ali60TR

Centipat
Katılım
4 Kasım 2022
Mesajlar
9
Daha fazla  
Sistem Özellikleri
Monster Abra v19.2
4 GB RTX 3050 Ti
Intel Core i5 i5-12500H
16GB DDR4 1.2V 3200MHz SODIMM
1TB SAMSUNG PM9B1 M.2 SSD PCIe 4.0 x4
Windows 11 Home
Cinsiyet
Erkek
Meslek
Tarih bölümü öğrencisi
Arkadaşlar merhaba. Python'u yeni öğrenmeye başladım ve Jupyter Notebook'ta bir kimlik kontrolü uygulaması yapmaya çalışıyorum. Fakat 3. notebookdaki kodlarım hiçbir şekilde çalışmıyor. T.C. Kimlik numarasının son hanesini ilk 10 rakamın toplamının birler basamağındaki sayı olduğunu öğrendim. Yazdığım kod, ilk 10 rakamın toplamının 11 ile aynı olmasını istiyor (sondan ikinci notebook). Fakat sorun şu ki hiçbir zaman aynı olarak kabul etmiyor. Çünkü atıyorum, kimlik numarasının sonu 0 ise 50 çıkıyor. Bu nedenle de sonuç hep yanlış çıkıyor. Kısaca bunu nasıl çözebilirim? Teşekkür ederim.
 

Dosya Ekleri

  • fed1ff87-ad1c-430a-a693-1d3901dbd50b.jpg
    fed1ff87-ad1c-430a-a693-1d3901dbd50b.jpg
    120,4 KB · Görüntüleme: 123
İlk 10 hanenin toplamını zaten sum(my_kimlikno[:10]) ile alıyorsunuz. Sonra % 10 ile modunu, yani birler basamağını almış oluyorsunuz. Ama niyeyse 11 yerine [11] ile kıyaslıyorsunuz. [11] bir liste. my_kimlikno[:10] demeniz lazım.

Bu kısmı sormuyor musunuz? Bu şekilde son basamağı tutarlı olup olmadığını kontrol ediyor.
Kod:
my_kimlikno = [int(x) for x in str(12345678901)]

if sum(my_kimlikno[:10]) % 10 == my_kimlikno[10]:
    print("tc kimlik numaranız doğrudur")
else:
    print("tc kimlik numaranız yanlıştır")
 

Geri
Yukarı