Isikukood ja selles sisalduv info
# Kalendri import on vajalik sõnalise kuunimetuse saamiseks
import calendar
def validate_code(code):
weights = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1]
sum = 0
for i in range(len(weights)):
sum += int(str(code)[i]) * weights[i]
if sum % 11 != 10 and sum % 11 != int(str(code)[-1]):
print("Vaata palun isikukood üle!")
exit()
def parse_sex(code):
# Võrdleme kas on paaris või paaritu arv, mehed paaritud, naised paaris
if (int(str(code)[0]) % 2) == 0:
# Kui on paaris, ehk arv jagub ilma jäägita, tagastame ♀ sümboli
return u'\u2640'
# Muul juhul tagastame ♂ sümboli
return u'\u2642'
def parse_year(code):
# Kuna isikukood algab aastates 1800 (1 või 2) siis hea algus on 17
century_start = 17
# Võtame isikukoodist aasta
century_identifier = int(str(code)[0])
# Selleks, arvutada aasta arvu algust, teeme natuke maagiat. Kuna sajandi märge isikukoodis on 1 ja 2 ning 3 ja 4 jne on alati paaris ja vastavad aastaarvu algusele vastavalt 18 ja 19 siis ühtlustame nad samale väärtusele. Seejärel jagame tulemusega 2-ga, seda muidugi juhul, kui ta on suurem kui 0 eksole.
if century_identifier % 2 > 0:
century_identifier = century_identifier + 1
if century_identifier > 0:
century_identifier = int(century_identifier / 2)
# Stardipunktile liidame saadud tulemi
century = century_start + century_identifier
# Saadud tulemi omakorda liidame isikukoodist saadud aasta arvule
return int(str(century)+str(code)[1:3])
def parse_month(code):
return calendar.month_name[int(str(code)[3:5])]
def parse_date(code):
return int(str(code)[5:7])
def get_dob(code):
return str(parse_date(code)) + ". " + parse_month(code) \
+ " " + str(parse_year(code))
def print_person_info(code):
validate_code(code)
print(get_dob(code) + " " + parse_sex(code))
# Trükime välja info, mida saime teada isikukoodist 51303170336
print_person_info(51303170336)
# Tulemus on järgmine
# 17. March 2013 ♂
# Või kas ikka on ;)
Täisnurkse kolmnurga joonistamine, kui kaatetid A ja B pikkused on teada
from turtle import *
import math
kaatet_a = int(input("Sisesta kaateti A pikkus: "))
kaatet_b = int(input("Sisesta kaateti B pikkus: "))
hypotenuus = math.sqrt(kaatet_a**2 + kaatet_b**2)
taisnurk = 90
nurk = math.degrees(math.atan(kaatet_b / kaatet_a)) + taisnurk
forward(kaatet_a)
left(taisnurk)
forward(kaatet_b)
left(nurk)
forward(hypotenuus)
done()
Tähekese joonistamine (soovitud orade arvuga)
from turtle import *
nurkade_arv = int(input("Sisesta mitu ora tähekesele joonistame: "))
nurk = 360 / nurkade_arv
ora_pikkus = 100
for kylg in range(nurkade_arv):
forward(ora_pikkus)
backward(ora_pikkus)
right(nurk)
done()
Siinusgraafik
from turtle import *
import math
raja_pikkus = 360
for x in range(raja_pikkus):
y = math.sin(math.radians(x)) * 100
setpos(x, y)
done()
Lille joonistamine
from turtle import *
mitu_oielehte = 7
colormode(255)
fillcolor(255, 0, 255)
begin_fill()
for x in range(mitu_oielehte):
circle(100)
right(360/mitu_oielehte)
end_fill()
dot(100, "yellow")
done()
Kunst ei hüüa tulles. Tuleb kevad, sooviks aeda kireva lillepeenra rajamiseks plaani, aga palun.
from turtle import *
import random
def drawFlower():
x = random.randint(-250, 250)
y = random.randint(-250, 250)
setpos(x, y)
mitu_oielehte = random.randint(3, 9)
colormode(255)
fillcolor(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
begin_fill()
lille_suurus = random.randint(30, 100)
for x in range(mitu_oielehte):
circle(lille_suurus)
right(360/mitu_oielehte)
end_fill()
dot(lille_suurus-10, "yellow")
# life is like a chocolate box, you newer know how many you get
for x in range(random.randint(1, 12)):
drawFlower()
done()