Я надеюсь, что смогу помочь с этим, мне не повезло, когда я смотрел онлайн. хорошо, что я новичок в Python.
Я изучаю Python The Hard Way и начинаю любить python. Итак, я сделал простую маленькую игру. Я ищу способ «обмануть смерть», и моя идея состоит в том, чтобы избежать смерти, вам нужно ответить на математический вопрос, и если вы все сделаете правильно, вы вернетесь к start () или укажи это неправильно, ты умрешь (). Вот код, который у меня есть для этого вопроса:
from random import shuffle
numbers = [1, 75, 64, 80275, 2, 7]
shuffle(numbers)
def question(numbers):
Теперь, используя мой список чисел, я не совсем знаю, как импортировать перемешанные числа. Я думаю, что у меня есть заданный вопрос, как этот:
__ + __ / __ * __ - __ * __
Чтобы он внес в список чисел, которые были перетасованы, а затем заменил __ на соответствующий __ в вопросе. Тогда у меня будет:
print "Your answer:"
user_answer = raw_input("> ")
Так что они могут вставить свой ответ. После этого мне понадобится способ проверить ответ, поэтому я сделаю это:
if useranswer == answer:
print "You lived!"
start()
else:
dead()
Где переменная 'answer' - это то, что Python вернет в качестве ответа. Итак, в конце я думаю, что код должен выглядеть следующим образом:
from random import shuffle
numbers = [1, 75, 64, 80275, 2, 7]
question = shuffle(numbers)
def cheat_death(numbers):
answer = __ + __ / __ * __ - __ * __
print "You have one chance to cheat death.\nTo do this, you must answer the following question:"
print question
user_answer = raw_input("> ")
if user_answer == answer:
start()
else:
dead()
Хорошо, у меня есть рабочий кусок кода. Он генерирует случайные числа, а затем ставит их в вопрос. вот код:
i = 0
numbers = []
while i < 6:
numbers.append(random.randrange(1,900))
i = i + 1
def cheat_death(numbers):
shuffle(numbers)
question = "%d + %d / %d * %d - %d * %d" % tuple(numbers)
print "You have a single chance to cheat death. To live, please answer the question correctly below:"
print question
answer = eval(question)
user_answer = raw_input("> ")
if user_answer == answer:
start()
else:
dead()
cheat_death()
Но каждый раз, когда я вношу ответ, независимо от того, прав он или нет, он говорит, что это неправильно. Может ли это быть из-за eval (вопрос)? Или человек, которого я просто не знаю!