Advertisement
fkudinov

Гра Вгадай Слово / Фінальна Версія

Jan 20th, 2024 (edited)
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.90 KB | Source Code | 0 0
  1. def validate_guess(guess):
  2.     return len(guess) == 1 and guess in "абвгґдеєжзиіїйклмнопрстуфхцчшщьюя'"
  3.  
  4.  
  5. def play(word, prompt):
  6.  
  7.     guesses = set()
  8.     print(prompt)
  9.  
  10.     while True:
  11.         # показуємо які букви вже вгадані
  12.         current = [letter if letter in guesses else "*" for letter in word]
  13.         print(" ".join(current))
  14.  
  15.         # показуємо усі спроби користувача, якщо є хоча б 1.
  16.         if len(guesses) > 0:
  17.             print(f"Спроби: {', '.join(guesses)}")
  18.  
  19.         # запитуємо нову букву у користувача
  20.         guess = input("Обери букву: ")
  21.  
  22.         guess_is_valid = validate_guess(guess) and guess not in guesses
  23.         if not guess_is_valid:
  24.             print("Спробуй ще раз")
  25.             continue
  26.  
  27.         # додаємо спробу до усіх спроб
  28.         guesses.add(guess)
  29.  
  30.         # чи всі букви слова вже відгадані, якщо да, виходимо з циклу
  31.         if guesses >= set(word):
  32.             print(f"Вітаємо з перемогою, загадане слово {word}")
  33.             break
  34.  
  35.         # інформуємо користувача чи він вгадав букву
  36.         msg = "Вгадав, так тримати" if guess in word else "Нема такої букви, спробуй ще"
  37.         print(msg)
  38.        
  39.         if len(guesses) >= 10:
  40.             print("Спроби вичерпано, ти програв")
  41.             break
  42.  
  43.  
  44. play("веселка", "В небо дощиком занесло різнобарвне перевесло.")
  45. play("м'яч", "Як не бий, він не заплаче, тільки сам завзято скаче.")
  46. play("сніг", "Взимку горою, влітку водою.")
  47.  
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement