Advertisement
fkudinov

Гра Вгадай Слово / Перша реалізація гри

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