Milí studenti, dnes (11. 12. 2024) jsme se věnovali dělitelnosti, vypisovali jsme všechny dělitele zadaného čísla, testovali jsme, zda je dané číslo prvočíslem, hledali jsme počet prvočísel menších než n, vypisovali jsme rozklad na součin prvočísel. Naprogramovali jsme také hru "Mysli si číslo": import random cislo_ktere_mam_uhodnout = random.randint(1, 10) muj_odhad = int(input("Hádejte číslo od 1 do 10: ")) while muj_odhad != cislo_ktere_mam_uhodnout: print("neuhodli jste") muj_odhad = int(input("Hádejte ještě jednou: ")) print(muj_odhad, "je správné číslo, vyhráli jste!") 1. Modifikujte tuto hru tak, že při neuhodnutí čísla nám program sdělí, zda jsme volili příliš velké či příliš malé číslo. Je-li správné číslo např. 5 a budeme hádat 7, program vypíše: "Tipovali jste příliš velké číslo. Zkuste to znovu: " 2. Python umí i kreslit, známá je např. tzv. želví grafika: představme si želvu, která jde po přímce určeným směrem a předepsaně daleko. Umí se pootočit o úhel zadané velikosti. A zanechává za sebou stopu, která vykresluje úsečky a kružnice. Pozorujte a otestujte tento zábavný prográmek: import turtle barvy = ['red', 'purple', 'blue', 'green', 'yellow', 'orange'] t = turtle.Pen() turtle.bgcolor('black') for n in range(360): t.pencolor(barvy[n % 6]) t.width(1 + n / 100) t.forward(n) t.left(59) turtle.hideturtle() 3. Den týdne: Podle pravidel Gregoriánského kalendáře si můžeme naprogramovat funkci, která bude k zadanému datu vracet číslo dne v týdnu. def den_tydne(d, m, r): dnu_v_mesici = [0, 0,3,3, 6,1,4, 6,2,5, 0,3,5] if r % 4 == 0: if r % 100 != 0 or r % 400 == 0: for i in range(3, 13): dnu_v_mesici[i] = (dnu_v_mesici[i] + 1) % 7 r = r - 2001 i = r + r//4 - r//100 + r//400 + dnu_v_mesici[m] + d return i % 7 print( den_tydne(11, 12, 2024) ) Skutečně, print( den_tydne(11, 12, 2024) ) vrací 3, což je středa. Můžete snadno zjistit, který den v týdnu jste se narodili. :-) 3a) Napište program, který vypíše čísla všech měsíců v tomto roce, v nichž se vyskytuje pátek 13. 3b) Napište program, který vypíše všechny pátky 13. po dobu celého Vašeho studia, tj. v letech 2024 až 2029. :-) 3c) Filoména dostala od Celestýna staré kalendáře s hezkými obrázky. Jsou z let 2021, 2019, 2018, 2017, 2015, 2014, 2013. Napište program, který otestuje, zda, případně které z nich, bude Filoména moci využít v roce 2025. (Testování bude snadné: všechny roky jsou nepřestupné. Stačí tedy ověřit, že ve stejném dni v roce, např. 1. ledna, bude stejný den v týdnu.) Příště bychom se věnovali Eukleidovu algoritmu, pýthagorejským trojicím, hledání kořenů rovnic, počítání integrálů, případně dalším matematickým záležitostem. Těším se na další programko, Zdeněk Halas