# 3. Cykly a funkce

# program na aproximaci Ludolfova cisla metodou Monte Carlo
import random
import math

m = 0   # cisla vne jednotkove kruznice
n = 0   # cisla uvnitr jednotkove kruznice

for i in range(1000000):
x = random.random()
y = random.random()
z = math.sqrt(x*x + y*y)

if z > 1:
m += 1
else:
n += 1

piq = n/(n+m)

print("pi = %.6f" % (piq*4))

# program pro kresleni geometrickych tvaru
for a in range(1,6):
for b in range(a):
print('*', end='')
print()

print()

for a in range(5):
for b in range(5-a):
print('*', end='')
print()

print()

for a in range(1,6):
for b in range(1,6-a):
print(' ', end='')
for b in range(a):
print('*', end='')
print()

print()

# poznamka k funkci range

for i in range(1,10,2):
print(i, end=' ')
print()

for i in range(10, 1, -2):
print(i, end=' ')
print()

# diagonaly
for i in range(100):
if (i % 11 == 0):
print (str(i).rjust(3), end='')
elif (i % 9 == 0):
print (str(i).rjust(3), end='')
else:
print ('   ', end='')
if (i % 10)==9: print()

mons = ['Leden', 'Unor', 'Brezen', 'Duben']
days = ['Po', 'Ut', 'St', 'Ct', 'Pa', 'So', 'Ne']
nums = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

def calendar (mesic, den):
konec = 0
print(" " + mons[mesic-1])
# tisk nazvu dnu v tydnu
for i in range(7):
print(days[i].rjust(3), end='')
print()
# tisk cisel dnu v mesici
for i in range(1, nums[mesic-1]+den):
konec += 1
if i < den:
print('   ', end='')
else:
print(str(i-den+1).rjust(3), end='')
if i % 7 == 0:
print()
konec = 0
print("\n")
return konec

k = calendar (1, 2)
k = calendar (2, k+1)