Witam, przerabiam książkę o programowaniu w Pythonie i na końcu rozdziału, jest zadanie, aby poprawić program Wymieszane litery w taki sposób, żeby mieć możliwość podpowiedzi i punktacje, zrobiłem to po swojemu prosto na ifach, wszystko jest ok tylko, tylko, że pierwszy if działa a drugi jest ignorowany, gdy program się pyta czy chcę drugą podpowiedź, i ja podam odpowiedź tak to, po prostu przechodzi do pętli.
# wymieszane litery
# komputer wybiera losowo slowo, a potem miesza jego litery
import random
WORDS = ("python","anagram","łatwy","skomplikowany","odpowiedź","ksylofon")
word = random.choice(WORDS)
print (word)
correct = word
# utworz pomieszana wersje slowa
jumble =""
zmienna1 = ""
zmienna2 = ""
letters = len(word)
letters2 = word[0:2]
guess = ""
while word:
position = random.randrange(len(word))
jumble += word[position]
word = word[:position] + word[(position + 1):]
print (jumble)
# rozpocznij grę
print(
"""
Witaj w grze 'Wymieszane litery'!
Uporządkuj litery, aby odtworzyć prawidłowe słowo.
(Aby zakończyć zgadywanie, naciśnij klawisz Enter bez podawania odpowiedzi.)
"""
)
print("Zgadnij, jakie to słowo:", jumble)
if jumble:
zmienna1 = input("Czy chcesz skorzystać z podpowiedźi? Jeśli chcesz to napisz tak: ")
if zmienna1 == "tak":
print("Mogę ci podpowiedzieć, że to słowo ma: ", letters, "liter")
elif zmienna1 == "nie":
print("Spróbuj odgadnąć bez podpowiedzi")
guess = input("\nTwoja odpowiedź: ")
if guess != correct and guess != "":
print("Czy chcesz skorzystać z drugiej podpowiedźi?")
zmienna2 == input("Jeśli chcesz skorzystać z drugiej podpowiedźi napisz tak: ")
if zmienna2 == "tak":
print("Mogę ci jeszcze podpowiedzieć, że pierwsze dwie litery tego słowa to: ",letters2)
elif zmienna2 == "nie":
print("Spróbuj odgadnąć bez podpowiedzi")
while guess != correct and guess != "":
print("Niestety, to nie to słowo.")
guess = input("Twoja odpowiedź: ")
if guess == correct:
print("Zgadza się! Zgadłeś!\n")
if guess == correct and zmienna1 == "tak":
print("Brawo zgadłeś ale tracisz 1 punkt za podpowiedź")
elif guess == correct and zmienna1 == "tak" and zmienna2 == "tak":
print("Brawo zgadłeś ale wykorzystałeś aż dwie podpowiedźi i tracisz kolejny punkt")
print("Dziękuję za udział w grze.")
input("\n\nAby zakończyć program, naciśnij klawisz Enter.")