Claude: loop místo rekurze #11

Closed
opened 2026-06-25 00:00:08 +02:00 by david-spacil · 0 comments
Owner
def add_players():
    global pointer, first, final_score

    # 1) První hráč – povinný. Ptáme se dokola, dokud nedostaneme platné jméno.
    while True:
        name = input("Zadejte jméno prvního hráče: ")
        if name == "":
            print("Jméno nemůže být prázdné.")
        else:
            players[name] = []
            aggr[name] = 0
            pointer = name
            first = name
            print(f"Do seznamu přidáno jméno {name}.")
            break

    # 2) Další hráči – nepovinní, dokud uživatel nezadá [x].
    while True:
        name = input("Zadejte jméno dalšího hráče nebo [x] pro ukončení: ")
        if name == "x":
            break
        elif name == "":
            print("Jméno nemůže být prázdné.")
        elif name in players:
            print("Zadávejte, prosím, unikátní jména.")
        else:
            players[name] = []
            aggr[name] = 0
            print(f"Do seznamu přidáno jméno {name}.")

    # 3) Finální skóre – obyčejný řádek po smyčkách, proběhne přesně jednou.
    score_input = input("Zadejte finální skóre (nechte prázdné pro výchozích 10 000): ")
    if score_input != "":
        final_score = int(score_input)

a analogicky

def game(data):
    while True:
        if data[0] == "count":
            ...
            if <bust>:
                ...
                data = evaluate("k", count, th)
                # žádné game(data) — smyčka se prostě zopakuje s novým data
            else:
                ...
                inp = input(msg)
                data = evaluate(inp, count, th)
                # taky bez game(data)

        elif data[0] == "msg":
            if data[1] in ("ER01", "ER02", "ER03"):
                ...
                data = evaluate(inp, count, th)
                # bez game(data)
            else:
                print(data[1])
                break          # tahle větev hru končí → break

        elif data[0] == "win":
            ...
            break              # konec hry → break
``` def add_players(): global pointer, first, final_score # 1) První hráč – povinný. Ptáme se dokola, dokud nedostaneme platné jméno. while True: name = input("Zadejte jméno prvního hráče: ") if name == "": print("Jméno nemůže být prázdné.") else: players[name] = [] aggr[name] = 0 pointer = name first = name print(f"Do seznamu přidáno jméno {name}.") break # 2) Další hráči – nepovinní, dokud uživatel nezadá [x]. while True: name = input("Zadejte jméno dalšího hráče nebo [x] pro ukončení: ") if name == "x": break elif name == "": print("Jméno nemůže být prázdné.") elif name in players: print("Zadávejte, prosím, unikátní jména.") else: players[name] = [] aggr[name] = 0 print(f"Do seznamu přidáno jméno {name}.") # 3) Finální skóre – obyčejný řádek po smyčkách, proběhne přesně jednou. score_input = input("Zadejte finální skóre (nechte prázdné pro výchozích 10 000): ") if score_input != "": final_score = int(score_input) ``` a analogicky ``` def game(data): while True: if data[0] == "count": ... if <bust>: ... data = evaluate("k", count, th) # žádné game(data) — smyčka se prostě zopakuje s novým data else: ... inp = input(msg) data = evaluate(inp, count, th) # taky bez game(data) elif data[0] == "msg": if data[1] in ("ER01", "ER02", "ER03"): ... data = evaluate(inp, count, th) # bez game(data) else: print(data[1]) break # tahle větev hru končí → break elif data[0] == "win": ... break # konec hry → break ```
david-spacil added this to the v0.1.0 milestone 2026-06-25 00:00:08 +02:00
david-spacil added the Kind/Bug
Priority
High
2
labels 2026-06-25 00:00:08 +02:00
david-spacil self-assigned this 2026-06-25 00:00:08 +02:00
david-spacil changed title from Claude: loop místo rekurze v add_players() to Claude: loop místo rekurze 2026-06-25 00:05:34 +02:00
Sign in to join this conversation.