Untitled

 avatar
unknown
plain_text
a year ago
2.2 kB
2
Indexable
"""
************************************************************************
nazwa funkcji:          __sprawdz_plec
opis funkcji:           Funkcja ,która na podstawie 10 pozycji numeru
                        PESEL sprawdza płeć
parametry:              pesel: typ string - 11 cyfrowy numer PESEL
zwracany typ i opis:    Funkcja zależnie od wyniku zwraca płeć w typie
                        string.
                        K - Kobieta
                        M - Mężczyzna

************************************************************************
"""


def __sprawdz_plec(pesel:str):
    informacja:int=int(pesel[9])
    if informacja%2==0:
        return "K"
    elif informacja%2!=0:
        return "M"

"""
************************************************************************
nazwa funkcji:          __sprawdz_suma_kontrolna
opis funkcji:           Funkcja sprawdzająca poprawność numeru PESEL na
                        podstawie algorytmu obliczenia cyfry kontrolnej/
parametry:              pesel: typ string - 11 cyfrowy numer PESEL
zwracany typ i opis:    Funkcja zwraca wartość logiczną True lub False
                        zależnie od tego czy cyfra kontrolna numeru
                        PESEL zgadza się z wynikiem algorytmu

************************************************************************
"""

def __sprawdz_suma_kontrolna(pesel:str):
    cyfra_kontrolna:int=int(pesel[10])
    wagi = '1379137913'
    S:int=0
    for i in range(0,10):
        tmp:int=int(pesel[i])*int(wagi[i])
        S+=tmp
    M:int=S%10
    if(M==0):
        R:int=0
    else:
        R:int=10-M

    if(cyfra_kontrolna==R):
        return True
    else:
        return False

pesel=(input("Podaj pesel:"))
if(len(pesel) > 11):
    pesel=pesel[:11]
print(f"Wprowadzony PESEL: {pesel}")
if __sprawdz_plec(pesel) == "M":
    print("Mężczyzna")
elif __sprawdz_plec(pesel) == "K":
    print("Kobieta")
if __sprawdz_suma_kontrolna(pesel) == True:
    print("Zgodność sumy kontrolnej numeru PESEL")
else:
    print("Niezgodność sumy kontrolnej numeru PESEL")





Leave a Comment