如何让随机问题不再出现?
How do I get the random question to not appear again?
我似乎无法解决如何让我的问题在显示一次后不再出现...
有人知道吗?
import random
from turtle import *
import time
def reset(x, y):
print("Körs")
clearscreen()
# Här gör man det enklare för sig själv genom att kategorisera turtles.
#Turtle()
# Här väljer man vilken fart turtles skall ha när dom ritar
speed(10)
# här göms alla turtles
hideturtle()
# Här skriver man vad programmet heter och vilken färg bakgrunden har.
title('Albins ofungerade spel')
Screen().bgcolor("orange")
quest = ('Courier', 15, 'italic')
main = ('Courier', 25, 'italic')
frågor = [1, 2, 3, 4, 5]
computer_action = random.choice(frågor)
# här ritas alla olika boxar och sidor
l = 300
w = 75
penup()
goto(-150, 100)
pendown()
forward(l)
left(90)
forward(w)
left(90)
forward(l)
left(90)
forward(w)
left(90)
penup()
goto(-150, 0)
pendown()
forward(l)
left(90)
forward(w)
left(90)
forward(l)
left(90)
forward(w)
left(90)
penup()
goto(-150, -100)
pendown()
forward(l)
left(90)
forward(w)
left(90)
forward(l)
left(90)
forward(w)
left(90)
penup()
goto(-150, -200)
pendown()
forward(l) # Forward turtle by l units
left(90) # Turn turtle by 90 degree
forward(w) # Forward turtle by w units
left(90) # Turn turtle by 90 degree
forward(l) # Forward turtle by l units
left(90) # Turn turtle by 90 degree
forward(w) # Forward turtle by w units
left(90) # Turn turtle by 90 degree
def good():
penup()
setposition(0, -280)
pendown()
write("Rätt val! Tryck på skärmen för ny fråga", font=main, align='center')
onscreenclick(reset)
def bad():
penup()
setposition(0, -280)
pendown()
write("Fel val! Tryck på skärmen för ny fråga", font=main, align='center')
onscreenclick(reset)
if computer_action == 1:
penup()
setposition(0, 130)
pendown()
write("A. Danmark", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Sverige", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Finland", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Norge", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter det största landet i Norden?", font=main, align='center')
onkeypress(good, 'b')
onkeypress(bad, 'd')
onkeypress(bad, 'c')
onkeypress(bad, 'a')
listen()
elif computer_action == 2:
penup()
setposition(0, 130)
pendown()
write("A. Java", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. C++", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Python", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. LUA", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad är William och Svens favorit språk?", font=main, align='center')
onkeypress(good, 'd')
onkeypress(bad, 'a')
onkeypress(bad, 'c')
onkeypress(bad, 'b')
listen()
elif computer_action == 3:
penup()
setposition(0, 130)
pendown()
write("A. Fredrik Reignfeldt", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Magdalenda Andersson", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Sven Blomqvist", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Martin Nilsson", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter Sveriges statsminister?", font=main, align='center')
onkeypress(good, 'b')
onkeypress(bad, 'a')
onkeypress(bad, 'c')
onkeypress(bad, 'd')
listen()
elif computer_action == 4:
penup()
setposition(0, 130)
pendown()
write("A. Joe Biden", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Bill Clinton", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Donald Trump", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Albin Winqvist", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter USA's president?", font=main, align='center')
onkeypress(good, 'a')
onkeypress(bad, 'd')
onkeypress(bad, 'c')
onkeypress(bad, 'b')
listen()
elif computer_action == 5:
penup()
setposition(0, 130)
pendown()
write("A. Borgarskolan", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Procivitas", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Bernadottegymnasiet", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Pauliskolan", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad är Malmös bästa skola?", font=main, align='center')
onkeypress(good, 'c')
onkeypress(bad, 'a')
onkeypress(bad, 'd')
onkeypress(bad, 'b')
listen()
onscreenclick(reset)
onscreenclick(reset)
done()
很抱歉,如果我的代码看起来草率或类似的问题,但我只需要帮助如何使出现一次的问题不再出现。
我知道 turtle 可能不是最好的,但这是我在做这个简单项目时唯一能想到的。
感谢我得到的任何帮助,这意义重大!
很确定你必须说 computer_action=0
如果你想结束或更改 0 为另一个数字如 3 以继续你的问题
如果computer_action == 1:
penup()
setposition(0, 130)
pendown()
write("A. Danmark", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Sverige", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Finland", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Norge", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter det största landet i Norden?", font=main, align='center')
onkeypress(good, 'b')
onkeypress(bad, 'd')
onkeypress(bad, 'c')
onkeypress(bad, 'a')
listen()
computer_action=0
虽然我不确定
取这行代码:
frågor = [1, 2, 3, 4, 5]
...并将其放在 reset() 函数之外 - 即放入全局 space
那么...
computer_action = random.choice(frågor)
frågor.remove(computer_action)
换句话说,您从列表中随机选择,然后删除您选择的任何内容。
问题是您只能执行 len(frågor) 次。你需要弄清楚如何应对这种可能性
在 reset
函数之外定义初始 frågor
。然后像下面这样修改你的 computer-action
:
frågor = [1, 2, 3, 4, 5]
def reset(x, y):
#....
random.shuffle(frågor)
computer_action = frågor.pop()
pop
returns 列表的最后一个元素 frågor
并将其从列表中删除。所以它永远不能重复。
小提示:避免在变量中使用像 å 这样的特殊字符。当您的文件编码更改时可能会导致问题。
我似乎无法解决如何让我的问题在显示一次后不再出现... 有人知道吗?
import random
from turtle import *
import time
def reset(x, y):
print("Körs")
clearscreen()
# Här gör man det enklare för sig själv genom att kategorisera turtles.
#Turtle()
# Här väljer man vilken fart turtles skall ha när dom ritar
speed(10)
# här göms alla turtles
hideturtle()
# Här skriver man vad programmet heter och vilken färg bakgrunden har.
title('Albins ofungerade spel')
Screen().bgcolor("orange")
quest = ('Courier', 15, 'italic')
main = ('Courier', 25, 'italic')
frågor = [1, 2, 3, 4, 5]
computer_action = random.choice(frågor)
# här ritas alla olika boxar och sidor
l = 300
w = 75
penup()
goto(-150, 100)
pendown()
forward(l)
left(90)
forward(w)
left(90)
forward(l)
left(90)
forward(w)
left(90)
penup()
goto(-150, 0)
pendown()
forward(l)
left(90)
forward(w)
left(90)
forward(l)
left(90)
forward(w)
left(90)
penup()
goto(-150, -100)
pendown()
forward(l)
left(90)
forward(w)
left(90)
forward(l)
left(90)
forward(w)
left(90)
penup()
goto(-150, -200)
pendown()
forward(l) # Forward turtle by l units
left(90) # Turn turtle by 90 degree
forward(w) # Forward turtle by w units
left(90) # Turn turtle by 90 degree
forward(l) # Forward turtle by l units
left(90) # Turn turtle by 90 degree
forward(w) # Forward turtle by w units
left(90) # Turn turtle by 90 degree
def good():
penup()
setposition(0, -280)
pendown()
write("Rätt val! Tryck på skärmen för ny fråga", font=main, align='center')
onscreenclick(reset)
def bad():
penup()
setposition(0, -280)
pendown()
write("Fel val! Tryck på skärmen för ny fråga", font=main, align='center')
onscreenclick(reset)
if computer_action == 1:
penup()
setposition(0, 130)
pendown()
write("A. Danmark", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Sverige", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Finland", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Norge", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter det största landet i Norden?", font=main, align='center')
onkeypress(good, 'b')
onkeypress(bad, 'd')
onkeypress(bad, 'c')
onkeypress(bad, 'a')
listen()
elif computer_action == 2:
penup()
setposition(0, 130)
pendown()
write("A. Java", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. C++", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Python", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. LUA", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad är William och Svens favorit språk?", font=main, align='center')
onkeypress(good, 'd')
onkeypress(bad, 'a')
onkeypress(bad, 'c')
onkeypress(bad, 'b')
listen()
elif computer_action == 3:
penup()
setposition(0, 130)
pendown()
write("A. Fredrik Reignfeldt", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Magdalenda Andersson", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Sven Blomqvist", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Martin Nilsson", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter Sveriges statsminister?", font=main, align='center')
onkeypress(good, 'b')
onkeypress(bad, 'a')
onkeypress(bad, 'c')
onkeypress(bad, 'd')
listen()
elif computer_action == 4:
penup()
setposition(0, 130)
pendown()
write("A. Joe Biden", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Bill Clinton", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Donald Trump", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Albin Winqvist", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter USA's president?", font=main, align='center')
onkeypress(good, 'a')
onkeypress(bad, 'd')
onkeypress(bad, 'c')
onkeypress(bad, 'b')
listen()
elif computer_action == 5:
penup()
setposition(0, 130)
pendown()
write("A. Borgarskolan", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Procivitas", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Bernadottegymnasiet", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Pauliskolan", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad är Malmös bästa skola?", font=main, align='center')
onkeypress(good, 'c')
onkeypress(bad, 'a')
onkeypress(bad, 'd')
onkeypress(bad, 'b')
listen()
onscreenclick(reset)
onscreenclick(reset)
done()
很抱歉,如果我的代码看起来草率或类似的问题,但我只需要帮助如何使出现一次的问题不再出现。 我知道 turtle 可能不是最好的,但这是我在做这个简单项目时唯一能想到的。 感谢我得到的任何帮助,这意义重大!
很确定你必须说 computer_action=0
如果你想结束或更改 0 为另一个数字如 3 以继续你的问题
如果computer_action == 1:
penup()
setposition(0, 130)
pendown()
write("A. Danmark", font=quest, align='center')
penup()
setposition(0, 30)
pendown()
write("B. Sverige", font=quest, align='center')
penup()
setposition(0, -70)
pendown()
write("C. Finland", font=quest, align='center')
penup()
setposition(0, -170)
pendown()
write("D. Norge", font=quest, align='center')
penup()
setposition(0, 250)
pendown()
write("Vad heter det största landet i Norden?", font=main, align='center')
onkeypress(good, 'b')
onkeypress(bad, 'd')
onkeypress(bad, 'c')
onkeypress(bad, 'a')
listen()
computer_action=0
虽然我不确定
取这行代码:
frågor = [1, 2, 3, 4, 5]
...并将其放在 reset() 函数之外 - 即放入全局 space
那么...
computer_action = random.choice(frågor)
frågor.remove(computer_action)
换句话说,您从列表中随机选择,然后删除您选择的任何内容。
问题是您只能执行 len(frågor) 次。你需要弄清楚如何应对这种可能性
在 reset
函数之外定义初始 frågor
。然后像下面这样修改你的 computer-action
:
frågor = [1, 2, 3, 4, 5]
def reset(x, y):
#....
random.shuffle(frågor)
computer_action = frågor.pop()
pop
returns 列表的最后一个元素 frågor
并将其从列表中删除。所以它永远不能重复。
小提示:避免在变量中使用像 å 这样的特殊字符。当您的文件编码更改时可能会导致问题。