【发布时间】:2020-01-07 21:27:47
【问题描述】:
对于一个学校项目,我必须制作一个程序,从文件中随机选择一首歌曲并输入艺术家的姓名和歌曲名称,玩家必须填写艺术家姓名和歌曲名称的空白才能获得积分.
项目的一个要求是它从文件夹中随机选择歌曲的文件,所以我尝试使用pickle 模块和turtle 模块 - 用于选项卡和输出程序的地方如果这是有道理的,我用词正确。
不幸的是,似乎没有很多东西。我最大的是因为我在代码中得到了歌曲,当它运行时它在选项卡中与它们重叠,我希望程序一次只显示一首歌曲并隐藏其余歌曲,直到用户猜到
这是我的代码:
import turtle
import os
import pickle
import random
#Screem
screen = turtle.Screen()
screen.bgcolor("black")
screen.title("Main Screen")
#Border
border = turtle.Turtle()
border.speed(0)
border.penup()
border.color("white")
border.setposition(-300, -300)
border.pensize(3)
border.pendown()
for side in range(4):
border.fd(600)
border.lt(90)
border.hideturtle()
song1 = turtle.Turtle()
song1.color("white")
song1.penup()
song1.speed(0)
song1.setposition(-200, -200)
song1string = ("_ost malone _n god")
song1.write(song1string, False, align="Left", font=("Arial", "14", "normal"))
song1string2 = ("_minem _ap _od")
song1.write(song1string2, False, align="Left", font=("Arial", "14", "normal"))
song1.hideturtle()
song1.clear()
songs = []
songs.append(song1string)
songs.append(song1string2)
pickle.dump(songs, open("songs.py", "wb"))
songs = pickle.load(open("songs.py", "rb"))
final_song = random.choice("songs.py")
screen.mainloop()
【问题讨论】:
-
我不确定,但是您是否尝试过使用
random模块,然后使用random.choice()方法? -
是的,我有,但它仍然超过了几圈,如果我 .clear 早些时候在代码中它一直保持清除状态。
-
为什么标题和正文的一部分与最后概述的问题完全不同?另外,我强烈建议使用上下文管理器来处理文件对象。
-
我不明白你的意思对不起
标签: python pickle turtle-graphics python-3.8