Kodları yazarken adım adım açıklamalar ekledim yine de özetlemek gerekirse;
1) tc numarasını bir değişkene atadık, ilk 9 hanesini aldık farklı bir değişkene atadık
2) 9 haneli numaranın ilk 5 hanesi ve son 4 hanesini ayırdık
3) burdan sonrasını for döngüsü içinde yazdık çünkü tcüretme tekrarlama işi burada dönecek
4) ilk 5 haneye 3 ekledik, son 4 haneden 1 cıkardık
… devamını kodlardan takip edebilirsiniz…
<?php $tcno = "11111111111"; // 11 haneli tc no buraya gelecek bu alana post olarak da alabilirsiniz tcyi $ilk9 = substr($tcno, 0, 9); // girilen tc numarasının ilk 9 hanesi //echo $ilk9; $tc5 = substr($ilk9, 0,5); // 9 haneli numaranın ilk 5 hanesi $tc4 = substr($ilk9, 5,4); // 9 haneli numaranın son 4 hanesi // $tc4 = substr_replace($ilk9, '', -3); son 3 hane silme for ($j=0; $j < 100; $j++) { // 100 yerine girilen rakam kadar program TC üretecektir // yaşça daha büyük akrabayı bulmak için geçerlidir. Daha kucuk için tam tersi yapılacaktır. ( 3 çıkartılacak 1 eklenecek) $tc5 = $tc5+3; // ilk 5 haneye 3 ekliyoruz $tc4 = $tc4-1; // son 4 haneden 1 cıkarıyoruz $ytc9 = $tc5.$tc4; // yeni üretilen 9 haneli tc $num = $ytc9; $num = str_split($num,1); $arr_odd = array(); $arr_doub = array(); for ($i = 0; $i < count($num); $i++) { if ($i % 2 == 0) $arr_doub[] = $num[$i]; else $arr_odd[] = $num[$i]; } $yeni9 = 7*array_sum($arr_doub); // 1. 3. 5. 7. 9. haneleri toplayıp 7 ile çarptık $yhn10 = ($yeni9-array_sum($arr_odd))%10; // 7 ile çarptığımız değerden 2. 4. 6. 8. haneleri toplayıp çıkardık mod10 aldık 10. haneyi elde ettik $yeni10 = $ytc9.$yhn10; // 10 haneli halini yazdırdık $yeni10 = str_split($yeni10,1); $arr_top = array(); for ($i = 0; $i < count($yeni10 ); $i++) { $arr_top[] = $yeni10[$i]; // 10 haneyi diziye aktardık } $toplam10hn=array_sum($arr_top); // 10 haneli sayının rakamlarını topladık $yhn11=(array_sum($arr_top))%10; // mod10 alarak 11. haneyi elde ettik echo $yeniTc = $ytc9.$yhn10.$yhn11."<br>"; // 9 haneli sonucun arkasına elde ettiğimiz 10. ve 11. haneleri yazdırarak yeni tc numarasını elde ediyoruz } ?>
python ile nasıl yapabiliriz?