我正在編寫一個遊戲,其中包括執行一個函數,該函數從列表中隨機選取一個人,並從其他列表中選擇一個隨機主題。更換示例,避免重複
的主要原則是: - 您可以運行的代碼,你希望所有的時間,但代碼不能給出2次同一個人
就目前我所得到的是:
# Lists
people = list('john','peter','alex')
topic = list('Finance','Ensurance','Retail')
Start<-function(people, topic){
arg1 = sample(people,1)
arg2 = sample(topic,1)
return (list(arg1,arg2))
}
問題的癥結在於:確保每次運行「開始」功能時,人員p和p + 1都不相同。所以,結果可能是這樣的:
約翰,金融/彼得,金融/約翰,零售/亞歷克斯,金融 但從來沒有:約翰,金融/約翰,金融。
你的意思是說他們永遠不能再被選中,或者連續兩次都不會被選中? –
你的要求到底是什麼還不清楚。您可以存儲先前的繪圖。或者你可以在開始時每個列表使用'sample'來洗牌,然後跟蹤並增加當前的索引。所以我假設'Start()'只能被調用三次? – MrFlick
我的意思是,這個遊戲可能會隨機選擇一個人寫一個話題到博客中(例如),所以話題可以重複,但不是人。 – PeCaDe