function validateTc($tc) {
    $tc = (string)$tc;
    
    // 11 hane olmalı, sadece rakam içermeli ve ilk rakamı 0 olmamalı
    if (strlen($tc) !== 11 || !ctype_digit($tc) || $tc[0] === '0') {
        return false;
    }

    $sumOdds = $tc[0] + $tc[2] + $tc[4] + $tc[6] + $tc[8]; // 1, 3, 5, 7, 9. haneler (indis: 0, 2, 4, 6, 8)
    $sumEvens = $tc[1] + $tc[3] + $tc[5] + $tc[7];         // 2, 4, 6, 8. haneler (indis: 1, 3, 5, 7)
    
    // 10. Hane kontrolü
    $digit10 = (($sumOdds * 7) + ($sumEvens * 9)) % 10;
    if ((int)$tc[9] !== $digit10) {
        return false;
    }

    // 11. Hane kontrolü
    $sumFirst10 = 0;
    for ($i = 0; $i < 10; $i++) {
        $sumFirst10 += (int)$tc[$i];
    }
    
    $digit11 = $sumFirst10 % 10;
    if ((int)$tc[10] !== $digit11) {
        return false;
    }

    return true;
}
def validate_tc(tc):
    tc = str(tc)
    
    # 11 hane olmalı, sadece rakam içermeli ve ilk rakamı 0 olmamalı
    if len(tc) != 11 or not tc.isdigit() or tc[0] == '0':
        return False

    digits = [int(d) for d in tc]

    sum_odds = sum(digits[0:9:2]) # 1, 3, 5, 7 ve 9. hanelerin toplamı (indisler: 0, 2, 4, 6, 8)
    sum_evens = sum(digits[1:8:2]) # 2, 4, 6 ve 8. hanelerin toplamı (indisler: 1, 3, 5, 7)
    
    # 10. Hane kontrolü
    digit_10 = ((sum_odds * 7) + (sum_evens * 9)) % 10
    if digits[9] != digit_10:
        return False

    # 11. Hane kontrolü
    digit_11 = sum(digits[:10]) % 10
    if digits[10] != digit_11:
        return False

    return True

function validateTc(tc) {
    tc = String(tc);

    // 11 hane olmalı, sadece rakam içermeli ve ilk rakamı 0 olmamalı
    if (!/^[1-9][0-9]{10}$/.test(tc)) {
        return false;
    }

    const digits = tc.split('').map(Number);

    const sumOdds = digits[0] + digits[2] + digits[4] + digits[6] + digits[8]; // 1, 3, 5, 7, 9. haneler
    const sumEvens = digits[1] + digits[3] + digits[5] + digits[7];            // 2, 4, 6, 8. haneler

    // 10. Hane kontrolü
    const digit10 = ((sumOdds * 7) + (sumEvens * 9)) % 10;
    if (digits[9] !== digit10) {
        return false;
    }

    // 11. Hane kontrolü
    const digit11 = digits.slice(0, 10).reduce((acc, val) => acc + val, 0) % 10;
    if (digits[10] !== digit11) {
        return false;
    }

    return true;
}
bu kodlar yukarıdaki arkadaşın söylediği algoritmaya uygun şekilde hazırlanmıştı hocam değerlendiebilirsiniz.