2014-10-13 2 views
-2

Я хочу сделать викторину со случайным письмом с фруктами, но вопрос, который я получаю, всегда тот же. Почему это?looping from early statement

import random 
from random import shuffle 

fruit = ("banana", "apple", "Avocado", "Blackberry", "Coconut", "Durian", "Dragon Fruit", "Eggplant", "Feijoa") 

word = random.choice(fruit) 
shuffled = list(word) 
random.shuffle(shuffled) 
shuffled = ''.join(shuffled) 

qas = [(shuffled, word), 
    (shuffled, word), 
    (shuffled, word), 
] 

for question, rightAnswer in qas: 
    answer = raw_input(question + ' ') 
    if answer == rightAnswer: 
     print 'Right!' 
    else: 
     print 'No... the answer is ' + rightAnswer 
+0

Если скрипт работает правильно, на какие вопросы будут выглядеть вопросы? – John1024

ответ

0

Я предполагаю, что вы имеете в виду, что каждый раз, когда вы запускаете программу, вы получаете три вопроса, которые одинаковы, в строке. Другой вопрос каждый раз, когда вы запускаете программу, повторяется в три раза больше, чем каждый прогон.

Вы должны напечатать qas после того, как вы его инициализировали, перед циклом.

qas = [(shuffled, word), 
     (shuffled, word), 
     (shuffled, word), 
] 
print qas 

Вы увидите, что вы инициализировали его тремя кортежами, которые являются одинаковыми.

Почему, по вашему мнению, каждый элемент qas будет отличаться? Вы помещаете в них то же самое ...