mummer
Апрель 6, 2019 15:49:09
Помогите, плз.
Столкнулся с подфункцией random.choice, попытался написать программу, в которой пользователь пытается угадать слово из заданного списка. Программа работает неверно: например, при введенном “эльф” выдает “не угадал. заданное слово - эльф” и так далее. Что не так? Туплю и не понимаю, где косяк. Заранее спасибо.
a = хх'эльф', ‘орк’, ‘хуман’, ‘гном’хх
b = str(input())
import random
print ('введите слово')
if b == random.choice(a):
print('угадал. задуманное слово -', random.choice(a))
else:
print('не угадал. задуманное слово -', random.choice(a))
В первой строчке ‘xx’ - это квадратные скобки. Сайт их почему-то не пропускает.
marvellik
Апрель 6, 2019 17:30:00
косяк в том что вы не понимаете что при каждом вызове random.choice(a) функция возвращает разные значения
>>> import random
>>> a = ['эльф', 'орк', 'хуман', 'гном']
>>> print(random.choice(a)) # это значение будет в if b == random.choice(a):
орк
>>> print('угадал. задуманное слово -', random.choice(a))
угадал. задуманное слово - эльф
>>> print('не угадал. задуманное слово -', random.choice(a))
не угадал. задуманное слово - орк
>>>
import random
a = ['эльф', 'орк', 'хуман', 'гном']
b = input('введите слово: ')
word = random.choice(a)
if b == word:
print('угадал. задуманное слово -', word)
else:
print('не угадал. задуманное слово -', word)