Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.96 KB | None | 0 0
  1. import random as r
  2. # создаем словарь с вопросами и ответами
  3. question = {'Третий президент Росии': 'МЕДВЕДЕВ',
  4.             'Один из континентов на Земле': 'АНТАРКТИДА',
  5.             'Страна Европы( Ван Дейк:) ):': 'НИДЕРЛАНДЫ',
  6.             'Марка машины': 'МЕРСЕДЕС',
  7.             'Страна в Центр Америке': 'ГОНДУРАС',
  8.             'Чья нога была на ЧМ 2018?': 'АКИНФЕЕВ',
  9.             'Столица одного из регионов России': 'МАХАЧКАЛА',
  10.             'Прибор для измерения температуры ': 'ТЕРМОМЕТР',
  11.             'Электронно Вычислительная Машина': 'КОМПЬЮТЕР',
  12.             'То, чье имя нельзя называть))': 'ВОЛДЕМОРТ'}
  13. # создаем список чтобы сравнить вопрос с ответом
  14. question1 = ['Третий президент Росии', 'Один из континентов на Земле', 'Страна Европы( Ван Дейк:) ):', 'Марка машины',
  15.              'Страна в Центр Америке', 'Чья нога была на ЧМ 2018?', 'Столица одного из регионов России',
  16.              'Прибор для измерения температуры ','Электронно Вычислительная Машина','То, чье имя нельзя называть))']
  17.  
  18. question2 = r.choice(question1)  # выбираем рандомный вопрос из списка
  19. new_q = question.get(question2)  # получает ответ  , сверяя с вопросом
  20. # print(new_q)
  21. print(question2)  # Выводит на экран вопрос
  22.  
  23. print('В слове ' + str(len(new_q)) + ' букв ')  # подсказывает пользователю сколько букв в слове
  24. print(' У вас только ', len(new_q) * 2, '  шансов ')  # говорит сколбко букв он может загадать (число букв * 2)
  25. full = []
  26. igroki = ['David','Anya','Maks']
  27. for i in new_q:
  28.     full.append('*')
  29. chit1 = 0
  30. class Bukva():
  31.     def __init__(self):
  32.         self.chit1 = 0
  33.     def buk(self):
  34.  
  35.         while True:
  36.             self.num = input('Ход {}: Введите букву или слово:\n'.format(igroki[self.chit1]))
  37.             self.num = self.num.strip()  # если введет пробел или таб перед буквой стирает ее
  38.             self.num = self.num.upper()  # преобразовывает в верхний регистр
  39.             if len(self.num) == 1 and self.num.isalpha():  # проверяет есть ли только 1 символ и яв-ся ли она буквой
  40.                 break
  41.             elif len(self.num) > 1 and self.num.isalpha():
  42.                 break
  43.  
  44. class Slovo(Bukva):
  45.     def spisok(self):
  46.         chit = 0
  47.         while True:
  48.             lot = 0
  49.             self.buk()  # вызываем функцию buk из класса Bukva
  50.             print('')
  51.             for i in new_q:
  52.                 if self.num == i:  # проверяет совпадает ли введенная буква с буквами в слове
  53.                     full.insert(lot, self.num)  # если буква есть то ставит букву num на индекс lot
  54.                     full.pop(lot + 1)  # удаляет индекс след элемента(т.к. в предыдущем пункте мы добавили букву)
  55.                 lot = lot + 1
  56.             #if self.num in new_q:
  57.                 #print('Верно! Ваше слово',new_q)
  58.                 #break
  59.             #elif len(self.num) > 1:
  60.                 #print('Неправильно !','Правильное слово', new_q)
  61.                 #break
  62.             spis = ''
  63.             for i in full:  # чтобы более понятливее был вывод
  64.                 spis = spis + i
  65.             print(spis)  # выводит слово с звездочками , и по мере пополнения также выводит где какая буква стоит
  66.             if not '*' in full:  # если нет символа * (а это значит что слово угадано) то говорит нам о победе
  67.                 print('\t\t***ВЫ ВЫИГРАЛИ***\nВаше слово: ', spis)
  68.                 break
  69.             if chit > len(new_q) * 2:  # если попытки закончились, то объявляет о поражении
  70.                 print('---Вы  проиграли---', 'Правильное слово: ', new_q)
  71.                 break
  72.             self.chit1 = self.chit1 + 1
  73.             if self.chit1 == 2:
  74.                 self.chit1 = -1
  75.  
  76. my_slovo = Slovo()
  77. my_slovo.spisok()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement