有没有一种方法可以简化random.randint脚本?

时间:2020-08-29 16:27:22

标签: python list random

我正在创建一个用户必须猜一首歌曲的游戏,我已经实现了一个包含热门歌曲列表的记事本文档。我已经用这个随机选择了歌曲

CurrentSong = random.randint(0,39) 
if CurrentSong == 0: 
    CurrentSong = Song[0]
elif CurrentSong == 1:
    CurrentSong = Song[1]

(this repeats for 40 songs) 

有人知道以更短/更有效的方式做到这一点的方法吗?

实际代码。

2 个答案:

答案 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类的保留样式。这会让您的读者感到困惑。