我如何获得随机的问题不再出现?
我似乎无法修复如何使我的问题在一次显示后不再出现... 有人有任何想法吗?
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()
抱歉,如果我的代码看起来草率或类似的任何东西,但是我只需要帮助如何使问题出现一次后再次出现。 而且我知道乌龟可能不是最好的,但这是我做这个简单项目时唯一能想到的。 感谢我获得的任何帮助,这意味着很多!
I can't seem to fix how to get my questions to not appear again after they have been shown once...
Does anyone have any idea?
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()
Sorry if my code seems sloppy, or anything similar, but I just need help with how to make a question not appear again after it appeared once.
And I know turtle might not be the best, but it's the only thing I could think of when doing this simple project.
Thanks for any help I get, it means alot!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
采用此代码行:
...并将其放在reset()函数之外 - IE,然后进入全球空间,
然后...
换句话说,您从列表中进行随机选择,然后删除所选择的任何内容。
问题在于,您只能做到这一点(frågor)次。您需要弄清楚如何应对这种情况
Take this line of code:
...and put it outside of the reset() function - i.e., into global space
Then...
In other words, you make a random selection from the list then you remove whatever you selected.
The problem is that you'll only be able to do this len(frågor) times. You'll need to figure out how to cope with that eventuality
在
重置
函数之外定义Intialfrågor
。然后修改您的Computer-Action
喜欢以下内容:pop
返回列表的最后一个元素frågor
并将其从列表中删除。因此,它永远无法重复。小提示:避免使用变量中的特殊字符。当您的文件编码更改时,可能会导致问题。
Define your intial
frågor
outside of yourreset
-function. Then modify yourcomputer-action
like the following:pop
returns the last element of the listfrågor
and deletes it from the list. So it can't ever be repeated.Minor hint: avoid special characters like å in variables. Might result in problems when the encoding of your file changes.
如果你想结束或用另一个数字(如 3)更改 0 来继续你的问题,那么你必须说
computer_action=0
if Computer_action == 1:
但我不确定
Pretty sure you have to say that
computer_action=0
if you want to end or change the 0 with another number like 3 to continue with your questionsif computer_action == 1:
I am not sure though