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