diff --git a/1] guessing game/Hadaci hra cislo.py b/1] guessing game/Hadaci hra cislo.py new file mode 100644 index 0000000..7c924cb --- /dev/null +++ b/1] guessing game/Hadaci hra cislo.py @@ -0,0 +1,21 @@ +import random +def guess_the_number(): + secret_number = random.randint(1, 100) + + while True: + try: + user_guess = int(input("Hádej číslo: ")) + + if user_guess < secret_number: + print("Příliš malé!") + elif user_guess > secret_number: + print("Příliš velké!") + else: + print("Vyhráváte!") + break + + except ValueError: + print("Není to číslo!") + +if __name__ == "__main__": + guess_the_number() diff --git a/2] loto/lottohra.py b/2] loto/lottohra.py new file mode 100644 index 0000000..329488a --- /dev/null +++ b/2] loto/lottohra.py @@ -0,0 +1,25 @@ +import random +def lotto_game(): + user_numbers = set() + + while len(user_numbers) < 6: + try: + user_input = int(input("Zadejte číslo (1-49): ")) + if 1 <= user_input <= 49 and user_input not in user_numbers: + user_numbers.add(user_input) + else: + print("Neplatný vstup, zadejte platné číslo v rozsahu 1-49.") + except ValueError: + print("Neplatný vstup, zadejte platné číslo v rozsahu 1-49.") + + sorted_user_numbers = sorted(user_numbers) + print("Vaše vybraná čísla:", sorted_user_numbers) + + drawn_numbers = set(random.sample(range(1, 50), 6)) + print("Vylosovaná čísla:", drawn_numbers) + + matched_numbers = set(sorted_user_numbers).intersection(drawn_numbers) + print("Počet shodných čísel:", len(matched_numbers)) + +if __name__ == "__main__": + lotto_game() diff --git a/3] guessing game 2/Guess game 2.py b/3] guessing game 2/Guess game 2.py new file mode 100644 index 0000000..e014c70 --- /dev/null +++ b/3] guessing game 2/Guess game 2.py @@ -0,0 +1,29 @@ +import random + +def guessing_number2(): + print("Myslim na cislo mezi 1 a 1000.") + nejnizsi = 1 + nejvyssi = 1000 + pokusy = 10 + + for i in range(pokusy): + hadane_cislo = random.randint(nejnizsi, nejvyssi) + print(f"Pocitac hada: {hadane_cislo}") + + odpoved = input("Cislo je prilis male (m), prilis velke (v) nebo vyhravate (s): ") + + if odpoved == "m": + nejnizsi = hadane_cislo + 1 + elif odpoved == "v": + nejvyssi = hadane_cislo - 1 + elif odpoved == "s": + print("Pocitac vyhral!") + break + else: + print("Neplatna odpoved. Zadejte 'm' pro prilis male, 'v' pro prilis velke nebo 's' pro vyhravate.") + + else: + print("Maximalni pocet pokusu. Vyhravate!") + +if __name__ == "__main__": + guessing_number2() \ No newline at end of file diff --git a/4] guessing game 3/skuska.py b/4] guessing game 3/skuska.py new file mode 100644 index 0000000..f138c08 --- /dev/null +++ b/4] guessing game 3/skuska.py @@ -0,0 +1,85 @@ +from flask import Flask, request + +app = Flask(__name__) + +HTML_START = """ + + + + + Hadejte cislo + + +

Myslete na cislo mezi 1 a 1000

+

Nerikejte vase cislo ;)

+
+ + + +
+ + +""" + + +HTML = """ + + + + + Hadejte cislo + + +

Je vase cislo {guess}?

+
+ + + + + + + +
+ + +""" + + +HTML_WIN = """ + + + + Hadejte cislo + + +

Huraaa! Uhodl jsem! Vase cislo je {guess}

+ + + +""" + + +@app.route("/", methods=["GET", "POST"]) +def hadejte_cislo(): + if request.method == "GET": + return HTML_START.format(0, 1001) + else: + min_number = int(request.form.get("min")) + max_number = int(request.form.get("max")) + user_answer = request.form.get("user_answer") + guess = int(request.form.get("guess", 500)) + + if user_answer == "prilis velke": + max_number = guess + elif user_answer == "prilis male": + min_number = guess + elif user_answer == "vyhral/a jste": + return HTML_WIN.format(guess=guess) + + guess = (max_number - min_number) // 2 + min_number + + return HTML.format(guess=guess, min=min_number, max=max_number) + + +if __name__ == '__main__': + app.run() \ No newline at end of file diff --git a/5] 2001/hra2001.py b/5] 2001/hra2001.py new file mode 100644 index 0000000..b9e5135 --- /dev/null +++ b/5] 2001/hra2001.py @@ -0,0 +1,48 @@ +from flask import Flask, render_template + +app = Flask(__name__) + +class DiceException(Exception): + pass + +def throw_dice(): + return random.randint(1, 6) + random.randint(1, 6) + +def play_turn(): + result = throw_dice() + + if result == 7: + raise DiceException("// 7") + elif result == 11: + raise DiceException(" * 11") + else: + return result + +def play_game(): + player_scores = [0, 0] + + while max(player_scores) < 2001: + try: + player_scores[0] += play_turn() + player_scores[1] += play_turn() + except DiceException as e: + return None, str(e) + + winner = player_scores.index(max(player_scores)) + 1 + return winner, max(player_scores) + +@app.route('/') +def index(): + return render_template('index.html') + +@app.route('/play', methods=['POST']) +def play(): + winner, score = play_game() + if winner is not None: + return f"Hráč {winner} vyhrál s celkovým skóre {score}!" + else: + return f"Chyba: {score}" + +if __name__ == "__main__": + app.run(debug=True) + diff --git a/5] dice/kostkyhra.py b/5] dice/kostkyhra.py new file mode 100644 index 0000000..ab47b66 --- /dev/null +++ b/5] dice/kostkyhra.py @@ -0,0 +1,22 @@ +import re +import random + +def roll_dice(code): + pattern = re.compile(r'(\d*)[dD]([3-9]|10|12|20|100)([+\-]\d+)?') + + match = pattern.match(code) + if not match: + return "Neplatny kod kostky." + + num_rolls = int(match.group(1)) if match.group(1) else 1 + dice_type = int(match.group(2)) + modifier = int(match.group(3)) if match.group(3) else 0 + + result = sum(random.randint(1, dice_type) for _ in range(num_rolls)) + modifier + + return f"Vysledek hodu kostkou ({num_rolls}D{dice_type}{modifier}): {result}" + +#priklad +kod_kostky = input("Zadejte kod kostky (napr. 2D10+10): ") +vysledek_hodu = roll_dice(kod_kostky) +print(vysledek_hodu)