我该怎么做,当一个人输入一个字母并按回车键时,它会看到这个字母是否与问题相对应?



请原谅标题的措辞不好,我不知道如何用几句话来解释它。目前,我有一个Stroop测试的代码,不同的单词以不同的颜色显示等等。我有这样的东西,你可以输入颜色的第一个字母(所以如果颜色是绿色,你输入"g"并按回车键(,但问题是我不知道如何让它说你是否正确。颜色将是绿色,我将键入g,但它不会将其作为正确答案。

我之前在这里问过这段代码,现在我已经处理了一段时间。我对编码不太了解,但我尝试制作一个答案变量,然后将该答案变量与 if 语句中的当前颜色匹配,使其显示"正确"或"不正确",但这似乎不起作用。

from turtle import Turtle, turtle, Screen
import random
screen = Screen()
screen.setup(500, 100)
tina = turtle.Turtle()
tina.hideturtle()
tina.speed(0)
colors = ['blue','yellow','green','red']
texts = ['Blue','Yellow','Green','Red']
nooftrials = 0
correct = 0
begin = str(raw_input("Begin the test? "))
if begin == 'y' or 'yes' or 'Yes':
while nooftrials <= 10:
color = random.choice(colors)
text = random.choice(texts)
tina.color(color);style1 = ('Arial', 20, 'bold');style2 = ('Arial', 20, 'bold');tina.write(text, font=style1, align='center')
answer = str(raw_input("Letter of color: "))
nooftrials += 1
if answer == color:
tina.clear()
tina.color('black');tina.write('Correct!', font=style2, align='center')
correct += 1
cont = str(raw_input('Press enter to continue'))
if cont == '':
tina.clear()
else:
tina.clear()
break
else:
tina.clear()
tina.color('black');tina.write('Incorrect', font=style2, align='center')
cont = str(raw_input('Press enter to continue'))
if cont == '':
tina.clear()
else:
tina.clear()
break
tina.clear()
tina.write('Test is over. You scored %s' %correct + ' out of 10', font=style2, align='center')

预期的结果是,当你输入颜色的字母时,如果你得到正确,它会说"正确!"并在正确答案的数量上加一分,如果你弄错了,它会说"不正确",不会添加任何分数。现在,它只是对所有内容说"不正确",无论它是否正确。

我稍微修改了一下您的代码,似乎这段代码可以解决您的问题。

首先,我添加了一个答案列表:

answer_list = ['b', 'y', 'g', 'r']
colors      = ['blue','yellow','green','red']
texts       = ['Blue','Yellow','Green','Red']

然后,我画一个介于 0 和 3 之间的随机数(两者都包括在内(,以确定单词的颜色:

index = random.randint(0, len(colors) - 1)
color = colors[index]

请注意,我为此使用了函数random.randint()。 如果不熟悉此函数,请键入help(random.randint())

最后,我使用我随机决定的索引将给出的响应(即字母(与answer_list中的变量进行了比较:

if answer == answer_list[index]:
tina.clear()
tina.color('black')
...

随机指数 = 2

  • 然后这个词将被涂成绿色
  • 参与者将输入"g">
  • g与answer_list[2]进行比较
  • g == answer_list[2],所以答案是正确的!

希望这有帮助!

相关内容

最新更新