Python

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()