Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions soubory/procvicovani/BONUS_1_oprav_chyby.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- coding: UTF-8 -*-
#Najdi 4 chyby v programu, oprav je.

from random import randrange
def piskvorky1d():
herni_pole = "-" * 20
na_tahu = "x"
Expand Down Expand Up @@ -28,11 +28,11 @@ def piskvorky1d():
return

def tah_hrace(herni_pole):
while True
while True:
cislo_policka = input("Zadej cislo policka 0-19: ")
cislo_policka = int(cislo_policka)
if cislo_policka < 0 or cislo_policka > 19:
print("Prosim zadej cislo v rozmezi 0-19.")
print("Prosim zadej cislo v rozmezi 0-19.")
elif herni_pole[cislo_policka] != "-":
print("Policko {} je obsazene, vyber prosim jine.".format(cislo_policka))
else:
Expand All @@ -44,11 +44,11 @@ def tah(herni_pole, cislo_policka, symbol):
def tah_pocitace(herni_pole):

while True:
cislo_policka = random.randrange(len(herni_pole))
cislo_policka = randrange(len(herni_pole))
if herni_pole[cislo_policka] == "-":
return tah(herni_pole, cislo_policka, "o")

def vyhodnot():
def vyhodnot(herni_pole):
if "xxx" in herni_pole:
return "x"
elif "ooo" in herni_pole:
Expand Down
15 changes: 14 additions & 1 deletion soubory/procvicovani/BONUS_2_fizz_buzz.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,17 @@
# Pokud je cislo delitelne 5 vypis misto neho retezec "Buzz"
# Pokud je cislo delitelne soucasne 3 a 5 vypis misto neho retezec "FizzBuzz"

# Bonus: zeptej se uzivatele horni hranici - cislo do ktereho se ma vypisovat (misto 100 napevno)
# Bonus: zeptej se uzivatele horni hranici - cislo
# do ktereho se ma vypisovat (misto 100 napevno)

horni_hranice_pocitani = int(input("Zadej, do kolika se má počítat "))
for cislo in range(1, horni_hranice_pocitani + 1):
if cislo % 5 == 0 and cislo % 3 == 0:
print("FizzBuzz")
elif cislo % 3 == 0:
print("Fizz")
elif cislo % 5 == 0:
print("Buzz")
else:
print(cislo)

12 changes: 7 additions & 5 deletions soubory/procvicovani/BONUS_3_piskvorky.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# -*- coding: UTF-8 -*-
# Zmen program tak, aby se hralo na mrizce o velikosti zadane uzivatelem, ne 20 napevno.
# Zmen program tak, aby se hralo na mrizce o velikosti zadane uzivatelem,
# ne 20 napevno.

import random
pocet_poli = int(input("Zadej počet herních políček "))

def piskvorky1d():
herni_pole = "-" * 20
herni_pole = "-" * pocet_poli
na_tahu = "x"

while True:
Expand All @@ -31,10 +33,10 @@ def piskvorky1d():

def tah_hrace(herni_pole):
while True:
cislo_policka = input("Zadej cislo policka 0-19: ")
cislo_policka = input("Zadej cislo policka 0-" + str(pocet_poli - 1) + ": ")
cislo_policka = int(cislo_policka)
if cislo_policka < 0 or cislo_policka > 19:
print("Prosim zadej cislo v rozmezi 0-19.")
if cislo_policka < 0 or cislo_policka > (pocet_poli - 1):
print("Prosim zadej cislo v rozmezi 0-" + str(pocet_poli - 1) + ": ")
elif herni_pole[cislo_policka] != "-":
print("Policko {} je obsazene, vyber prosim jine.".format(cislo_policka))
else:
Expand Down
20 changes: 18 additions & 2 deletions soubory/procvicovani/BONUS_4_pythagoras.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,20 @@
# -*- coding: UTF-8 -*-
# Napis funkci, ktera ti pro dve zadane delky odvesen pravouhleho trojuhelnika vypocita delku prepony. (TIP budes potrebovat Pythagorovu vetu)
# Napis funkci, ktera ti pro dve zadane delky odvesen pravouhleho
# trojuhelnika vypocita delku prepony.
# (TIP budes potrebovat Pythagorovu vetu)

# BONUS: Pridej funkce i pro vypocet strany,
# pokud zname jednu odvesnu a preponu

# Pythagorova věta: a**2 + b**2 = c**2
from math import sqrt

def vypocti_delku_prepony(odvesna_a, odvesna_b):
prepona = sqrt(odvesna_a**2 + odvesna_b**2)
return prepona

def vypocti_delku_strany(odvesna, prepona):
strana = sqrt(prepona**2 - odvesna**2)
return strana


# BONUS: Pridej funkce i pro vypocet strany, pokud zname jednu odvesnu a preponu
3 changes: 3 additions & 0 deletions soubory/procvicovani/BONUS_5_obsahuje_7.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# -*- coding: UTF-8 -*-
# Vypis vsechna cela cisla od 1 do 1000, ktera obsahuji cislici 7.
for i in range(1,1001):
if "7" in str(i):
print (i)
12 changes: 11 additions & 1 deletion soubory/procvicovani/BONUS_5_suma.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,12 @@
# -*- coding: UTF-8 -*-
# Ptej se uzivatele na cisla, dokud nenapise 'konec'. Potom vypis sumu (soucet) vsech zadanych cisel.
# Ptej se uzivatele na cisla, dokud nenapise 'konec'.
# Potom vypis sumu (soucet) vsech zadanych cisel.

suma = 0
while True:
zadane_cislo = input("Zadej číslo. Pokud už nechceš pokračovat, napiš 'konec'. ")
if zadane_cislo.lower() == "konec":
print("Celkový součet zadaných čísel je:", suma)
break
else:
suma = suma + int(zadane_cislo)
20 changes: 19 additions & 1 deletion testovani/bonus/1_import_factorial.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,22 @@

#Rozsirujici zadani:
# - Osetri vstup tak, aby uzivatel mohl zadat pouze cele cislo
# - Osetri vstup tak aby uzivatel nemohl zadat zaporne cislo
# - Osetri vstup tak aby uzivatel nemohl zadat zaporne cislo

from math import factorial

while True:
odpoved = input('Zadej celé kladné číslo ')
try:
cislo = int(odpoved)
except ValueError:
print('Toto není celé číslo! Zkus to znovu.')
else:
if int(odpoved) < 0:
print('Toto není kladné číslo! Zkus to znovu.')
else:
break

faktorial_cisla = factorial(cislo)
print('Faktorial čísla {0} je {1}.'.format(cislo, faktorial_cisla))

14 changes: 13 additions & 1 deletion testovani/bonus/2_vyhazovani vyjimek.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
#Ukol: At uzivatel zada desetinne cislo v rozmezi 50.0 a 150.0
# - pokud neni zadano desetinne cislo, ptej se stale znovu
# - pokud cislo je desetinne, ale neni v tomto rozmezi vyhod ValueError vyjimku
# - pokud cislo je desetinne, ale neni v tomto rozmezi
# vyhod ValueError vyjimku

while True:
odpoved = input('Zadej desetinné číslo v rozmezí 50.0 a 150.0 ')
if '.' not in odpoved:
print('Toto není desetinné číslo! Zkus to znovu.')
else:
break

if float(odpoved) < 50.0 or float(odpoved) > 150.0:
raise ValueError('Číslo není v daném rozmezí! ')