Hej,
sprawdzam zadania z książki "Python dla każdego. Podstawy programowania". W zadaniu 4. z rozdziału III mam delikatną zagwozdkę:
Treść zadania:
Tym razem trudniejsze wyzwanie. Napisz pseudokod do programu, w którym gracz i komputer zamienią się rolami w grze z odgadywaniem liczby. To znaczy gracz wybiera losowo liczbę z przedziału od 1 do 100, a komputer ma ją odgadnąć. Zanim rozpoczniesz tworzenie algorytmu, pomyśl, w jaki sposób sam byś zgadywał. Jeśli wszystko się uda, spróbuj napisać kod gry.
Mój kod:
#Program komputer zgaduje liczbe wymyslona przez gracza
import random
number = int(input("Podaj liczbę, którą ma zgadnąć komputer: "))
guess = random.randint(1,100)
tries = 1
print("Pierwsza zgadywana liczba przez komputer to:", guess)
print("Liczba do zgadnięcia to:", number)
while guess != number:
if guess > number:
print("Za dużo")
guess = random.randint(1, guess-1)
tries += 1
print("Zgaduję:", guess)
else:
print("Za mało")
guess = random.randint(guess+1,100)
tries += 1
print("Zgadujęę:", guess)
print("Komputer zgadł za", tries,"razem.")
Teoretycznie komputer wykonuje zadanie i ostatecznie zgaduje liczbę, ale po drodze nie zwraca uwagi na poprzednie próby, tzn.:
Liczba do zgadnięcia to 50
1 próba komputera 60 - za dużo
2 próba komputera 40 - za mało
3 próba komputera 70 - za dużo
Przy 3 próbie komputer nie wziął pod uwagę 1 próby. Możemy jakoś zasugerować mu jej (1 próby) uwzględnienie?