Created
December 20, 2019 09:45
-
-
Save Matojeje/23766f24fe96225ae390b485b740dfcf to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
""" | |
Úkoly | |
1. Vytvořte program pro výpis druhých a třetích mocnin čísel od 1 do 10. Výpis zobrazte ve tvaru: | |
1^2 = 1 1^3 = 1 | |
2^2 = 4 2^3 = 8 | |
atd. | |
2. Vytvořte program pro simulaci házení kostkou, přičemž si uživatel volí, kolikrát chce házet. Program následně zobrazí postupně hozená čísla a na závěr vypočítá jejich průměrnou hodnotu. | |
Tvar výstupu: | |
1: kostka hodila 5 | |
2: kostka hodila 3 | |
atd. | |
Průměrná hodnota hodu je … | |
3. Vytvořte program, který zjistí, zda zadané číslo je prvočíslo nebo ne. | |
4. Vytvořte program, který vypíše všechna prvočísla do hodnoty zadané uživatelem. | |
""" | |
from random import randint | |
from timeit import default_timer as timer | |
# 1. úkol | |
print("\n=== 1. úkol ===") | |
print("Mocniny čísel\n") | |
for n in range(1, 11): | |
print(f"{n}² = {n**2}; {n}³ = {n**3}") | |
# 2. úkol | |
print("\n=== 2. úkol ===") | |
print("Simulace kostky 1d6\n") | |
hody = int(input("Počet hodů: ") or "5") | |
součet = 0 | |
def kostky(cislo): | |
return { | |
1: "⚀", | |
2: "⚁", | |
3: "⚂", | |
4: "⚃", | |
5: "⚄", | |
6: "⚅", | |
}.get(int(cislo)) | |
for i in range(hody): | |
kostka = randint(1,6) | |
print(f"{kostky(kostka)} | {i+1}. hod: Kostka hodila", kostka) | |
součet += kostka | |
print("Průměrná hodnota hodu je", round(součet / hody, 4)) | |
# 3. úkol | |
print("\n=== 3. úkol ===") | |
print("Prvočíslo\n") | |
n = int(input("Vyzkoušet číslo: ") or "13") | |
dělitelé = 0 | |
for i in range(1, n+1): | |
if n % i == 0: dělitelé += 1 | |
print(n, "je" if dělitelé == 2 else "není", "prvočíslo.") | |
# 4. úkol | |
print("\n=== 4. úkol ===") | |
print("Seznam prvočísel\n") | |
limit = int(input("Prohledat čísla od 1 do ") or "2000") | |
počet = 0 | |
start = timer() | |
for n in range(limit + 1): | |
d = 0 | |
for i in range(1, n+1): | |
if n % i == 0: d += 1 | |
if d == 2: | |
počet += 1 | |
print(n if počet == 1 else f", {n}", end="") | |
konec = timer() | |
if počet == 1: o, prvočísel = "o", "prvočíslo" | |
elif počet < 5: o, prvočísel = "a", "prvočísla" | |
else: o, prvočísel = "o", "prvočísel" | |
print(f"\nV intervalu <1; {limit}> byl{o} za {round(konec - start, 3)} sekund nalezen{o} {počet} {prvočísel}.") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment