Opakování & Třídy  9. května 2019

Materiály

Nejste účastníkem kurzu
Pro zápis do kurzu se nejprve přihlašte a následně použijte tlačítko v přehledu kurzu.

Domácí projekty

0.

Vytvoř si vlastní třídu pro celá čísla tak, aby tato nová třída měla všechny vlastnosti a schopnosti běžných celých čísel v Pythonu (objekty bude možné sčítat, odečítat, porovnávat atp.) a navíc měla metodu pro rozpoznání, zda je číslo v objektu sudé nebo liché jménem je_sude(), která bude vracet True nebo False.

1.

Jako bonus je možné vlastní třídě z předchozího příkladu přepsat metodu __repr__() tak, aby bylo v interaktivním režimu poznat, které číslo je standardní int a které je z tebou vytvořené třídy.

2.

Napiš tyto funkce. Každá z nich dostane jako argument řetězec s~rodným číslem a nějak ho zanalyzuje:

  • Je ve správném formátu: 6 číslice, lomítko, 4 číslice? (vrací True nebo False)
  • Je dělitelné jedenácti? (vrací True nebo False)
  • Jaké datum narození je v čísle zakódováno? (vrací trojici čísel – den, měsíc, rok)
  • Jaké pohlaví je v čísle zakódováno? (vrací 'muž' nebo 'žena')

Pro účely úkolu stačí, když bude program umět zpracovat čísla vydávaná od roku 1985. Reálná rodná čísla můžou být složitější :)

3.

Napiš program který se uživatele zeptá na rodné číslo a vypíše výsledky.