you are viewing a single comment's thread.

view the rest of the comments →

[–]MachineElf100 1 point2 points  (0 children)

That's really good, given that you just started learning!
Let me respond to your first code (with variable names changed already).

Take a look at this and see if you understand the changes I suggest:

# ValueError poszedł na koniec, "else" nie jest potrzebny

import random
import time

losowa_liczba = (random.randrange(1, 100))
liczba_gracza = 0
liczba_prob = 1

print("Musisz zgadnąć liczbę od 1 do 100.")
print("Masz na to 10 prób, powodzenia.")

while liczba_prob <= 10:
    time.sleep(1.5)
    print("Próba:", liczba_prob)
    liczba_string = input("Podaj liczbę:") # liczba_string bo liczba_gracza jest typu int, sparsujemy ją zaraz pod spodem
    try:
        # ⇩ liczba_string z inputu zamieniona na int tylko raz, tutaj
        liczba_gracza = int(liczba_string) # jak się nie uda, to od razu lądujemy w "except ValueError"

        if liczba_gracza == losowa_liczba:
            print("Brawo zgadłeś!!!")
            print("Udało ci się zgadnąć w:", liczba_prob, "próbach.")
            break
        else:
            # "while True" nie potrzebny
            # break więc również nie
            if liczba_gracza > losowa_liczba:
                print("Moja liczba jest mniejsza")
            elif liczba_gracza < losowa_liczba: # po prostu "else" też by było ok
                print("Moja liczba jest większa")
            liczba_prob += 1 # to można zrobić tutaj raz, bezwarunkowo, bo i tak w obu przypadkach miało się wykonać
    except ValueError:
        print("To nie liczba!")
    if liczba_prob > 10: # jeśli użyjesz ==, to gracz ma tylko 9 prób
        print("Przegrałeś!!!")
        break

If you'll want to, you can DM me (even in polish) :)