【问题标题】:looping from early statement从早期语句循环
【发布时间】:2014-10-13 04:41:07
【问题描述】:

我想用随机的水果字母做一个测验,但我得到的问题总是一样的。这是为什么呢?

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

【问题讨论】:

  • 如果脚本运行正常,问题会是什么样子?

标签: python loops random


【解决方案1】:

我假设您的意思是每次运行该程序时,都会连续收到三个相同的问题。每次运行程序时都会提出不同的问题,每次运行时重复相同的问题 3 次。

你应该在初始化之后,在循环之前打印qas

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

你会看到你已经用三个相同的元组初始化了它。

为什么你认为qas 的每个元素都会不同?你把同样的东西放进去……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 2022-11-16
    • 2017-06-20
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多