我正在创建一个用户必须猜一首歌曲的游戏,我已经实现了一个包含热门歌曲列表的记事本文档。我已经用这个随机选择了歌曲
CurrentSong = random.randint(0,39)
if CurrentSong == 0:
CurrentSong = Song[0]
elif CurrentSong == 1:
CurrentSong = Song[1]
(this repeats for 40 songs)
有人知道以更短/更有效的方式做到这一点的方法吗?
实际代码。
答案 0 :(得分:3)
CurrentSong = random.choice(Song)
在docs
中了解更多信息答案 1 :(得分:2)
RichieV的答案是从列表中选择随机事物的最Python方式。
但是,它并不能回答您的问题的实质。
您不应该有一系列的ifs。您应该使用该变量为列表编制索引。
这看起来会令人困惑,因为您正在重复使用和误用CuSong
变量,以将索引号保留在顶部,后来又保留了在列表中查找值的结果。真是。
要做你所做的,只是
CuSong = Song[CuSong]
但是,不要那样做。将数字存储在另一个变量中,并用它索引到列表中。
song_number = from_somewhere()
chosen_song = songs[song_number]
也不要将变量设为大写。这是python类的保留样式。这会让您的读者感到困惑。