Nachinka

hangman

Oct 6th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.10 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2.  
  3. def is_word_guessed(word, guessed_letters):
  4.     for letter in word:
  5. ##        if letter in guessed_letters:
  6. ##            pass
  7. ##        else:
  8. ##            return False
  9.         if not (letter in guessed_letters):
  10.             return False
  11.     return True
  12.  
  13. def word_to_print(word, guessed_letters):
  14.     st=[]
  15.     for letter in word:
  16.         if letter in guessed_letters:
  17.             st.append(letter)
  18.         else:
  19.             st.append('_')
  20.     return ' '.join(st)
  21.  
  22. def alphabet_to_print(alphabet, guessed_letter, separator = ' '):
  23.     st = []
  24.     for letter in alphabet:
  25.         if letter in guessed_letter:
  26.             st.append(separator)
  27.         else:
  28.             st.append(letter)
  29.     return ' '.join(st)
  30.  
  31. def errors_to_print(errors_made, max_errors):
  32.     return 'Ошибки: {0}/{1}'.format(errors_made, max_errors)
  33.  
  34. import random
  35. words = ['apple', 'orange', 'lemon']
  36. word = random.choice(words)
  37.  
  38. alphabet = 'abcdefghijklmnopqrstuvwxyz'
  39. max_errors = 8
  40. errors_made = 0
  41. guessed_letters = []
  42. print('Привет. Угадай слово')
  43. while not (is_word_guessed(word, guessed_letters)) and errors_made<max_errors:
  44.     print ('*********************')
  45.     print (word_to_print(word, guessed_letters))
  46.     print (alphabet_to_print(alphabet, guessed_letters))
  47.     print (errors_to_print(errors_made,max_errors))
  48.     print ('*********************')
  49.     letter = input('Введите букву')
  50.     if not letter in alphabet:
  51.         print ('невозможная буква')
  52.     else:
  53.         if letter in guessed_letters:
  54.             print ('буква уже называлась')
  55.         else:
  56.             guessed_letters.append(letter)
  57.             if letter in word:
  58.                 print(letter + ' - правильная буква')
  59.             else:
  60.                 print(letter + ' - неправильная буква')
  61.                 errors_made += 1
  62. print ('Конец игры. Загаданное слово: '+word)
  63. if errors_made == max_errors:
  64.     print ('ПРОИГРАЛ')
  65. else:
  66.     print ('Выиграл')
Add Comment
Please, Sign In to add comment