Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random as r
- # создаем словарь с вопросами и ответами
- question = {'Третий президент Росии': 'МЕДВЕДЕВ',
- 'Один из континентов на Земле': 'АНТАРКТИДА',
- 'Страна Европы( Ван Дейк:) ):': 'НИДЕРЛАНДЫ',
- 'Марка машины': 'МЕРСЕДЕС',
- 'Страна в Центр Америке': 'ГОНДУРАС',
- 'Чья нога была на ЧМ 2018?': 'АКИНФЕЕВ',
- 'Столица одного из регионов России': 'МАХАЧКАЛА',
- 'Прибор для измерения температуры ': 'ТЕРМОМЕТР',
- 'Электронно Вычислительная Машина': 'КОМПЬЮТЕР',
- 'То, чье имя нельзя называть))': 'ВОЛДЕМОРТ'}
- # создаем список чтобы сравнить вопрос с ответом
- question1 = ['Третий президент Росии', 'Один из континентов на Земле', 'Страна Европы( Ван Дейк:) ):', 'Марка машины',
- 'Страна в Центр Америке', 'Чья нога была на ЧМ 2018?', 'Столица одного из регионов России',
- 'Прибор для измерения температуры ','Электронно Вычислительная Машина','То, чье имя нельзя называть))']
- question2 = r.choice(question1) # выбираем рандомный вопрос из списка
- new_q = question.get(question2) # получает ответ , сверяя с вопросом
- # print(new_q)
- print(question2) # Выводит на экран вопрос
- print('В слове ' + str(len(new_q)) + ' букв ') # подсказывает пользователю сколько букв в слове
- print(' У вас только ', len(new_q) * 2, ' шансов ') # говорит сколбко букв он может загадать (число букв * 2)
- full = []
- igroki = ['David','Anya','Maks']
- for i in new_q:
- full.append('*')
- chit1 = 0
- class Bukva():
- def __init__(self):
- self.chit1 = 0
- def buk(self):
- while True:
- self.num = input('Ход {}: Введите букву или слово:\n'.format(igroki[self.chit1]))
- self.num = self.num.strip() # если введет пробел или таб перед буквой стирает ее
- self.num = self.num.upper() # преобразовывает в верхний регистр
- if len(self.num) == 1 and self.num.isalpha(): # проверяет есть ли только 1 символ и яв-ся ли она буквой
- break
- elif len(self.num) > 1 and self.num.isalpha():
- break
- class Slovo(Bukva):
- def spisok(self):
- chit = 0
- while True:
- lot = 0
- self.buk() # вызываем функцию buk из класса Bukva
- print('')
- for i in new_q:
- if self.num == i: # проверяет совпадает ли введенная буква с буквами в слове
- full.insert(lot, self.num) # если буква есть то ставит букву num на индекс lot
- full.pop(lot + 1) # удаляет индекс след элемента(т.к. в предыдущем пункте мы добавили букву)
- lot = lot + 1
- #if self.num in new_q:
- #print('Верно! Ваше слово',new_q)
- #break
- #elif len(self.num) > 1:
- #print('Неправильно !','Правильное слово', new_q)
- #break
- spis = ''
- for i in full: # чтобы более понятливее был вывод
- spis = spis + i
- print(spis) # выводит слово с звездочками , и по мере пополнения также выводит где какая буква стоит
- if not '*' in full: # если нет символа * (а это значит что слово угадано) то говорит нам о победе
- print('\t\t***ВЫ ВЫИГРАЛИ***\nВаше слово: ', spis)
- break
- if chit > len(new_q) * 2: # если попытки закончились, то объявляет о поражении
- print('---Вы проиграли---', 'Правильное слово: ', new_q)
- break
- self.chit1 = self.chit1 + 1
- if self.chit1 == 2:
- self.chit1 = -1
- my_slovo = Slovo()
- my_slovo.spisok()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement