====== 3. Cykly a funkce ====== ===== 1. příklad ===== # 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)) ===== 2. příklad ===== # 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() ===== 3. příklad ===== # 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() ===== 4. příklad ===== 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='') # odradkovani 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)