> For the complete documentation index, see [llms.txt](https://nkust.gitbook.io/csx/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nkust.gitbook.io/csx/ge-bei-de-fang-fa.md).

# 隨機歌單背後的方法

如果是第一種方法的話，有可能會在短時間之間又重複聽到相同的曲子，但如果是第二種方法的話，那麼就一定要所有的歌曲都聽過一遍後，才會再重複喔。

為了示範隨機歌單的例子，我們還是需要一個清單，假設我們把它命名為list，然後建立一個用來產生有序資料的索引變數index，則產生一個有序數字清單的程式積木如下：

![](/files/-LSyMYzGAjULXis_yrwf)

建立完成之後，只要程式一執行，就可以在舞台上看到如下所示的清單：

![](/files/-LSyMptE8yjCHrIF2I8J)

接著，我們用來打亂數字順序的方法是，設定兩個變數分別是x以及y，然後重複10次，每一次都隨機選擇1\~10之間的數字做為x和y的內容，而x和y的目的就是要用來指出兩個要交換內容的項目之索引值。此外，為了要交換索引的內容項目，還需要一個暫存的變數，我們把它命名為temp，因此，除了清單list之外，這個程式還需要以下的變數：

![](/files/-LSyNQCJrE5kuuh_AWw8)

打亂順序的程式積木如下：

![](/files/-LSyNWmDx4vGW8mYrXLx)

在這個程式積木中要特別留意的是，x和y指的是索引，而temp變數中放的則是實際的項目內容。完成的程式積木如下所示：

![](/files/-LSyNjwAxAfwELprHg5L)

此程式執行完畢之後，可以看到清單中的數字順序就被打亂了，而且清單中的數字不會有重複的情形發生喔。

![](/files/-LSyO2aT0LxJkIEAWsBX)

學會了這項技能，同學們知道如何製作發牌程式了嗎？
