我建立了一個遊戲,我需要使用random.choice
:PYTHON - 隨機選擇
當用戶登錄時,他們需要進入15的一個房間,隨意選擇。如何修改以下代碼以使用random.choice
來選擇房間?
#login
self.enterRoom("1")
我建立了一個遊戲,我需要使用random.choice
:PYTHON - 隨機選擇
當用戶登錄時,他們需要進入15的一個房間,隨意選擇。如何修改以下代碼以使用random.choice
來選擇房間?
#login
self.enterRoom("1")
使用random.randint
不使用random.choice
,
:
import random
room = random.randint(1,15)
嗨凱恩!那將是「1」到「15」?或者只是1到15? – user1704332
@ user1704332它將是整數,而不是字符串。如果需要使用str()方法,您應該將其轉換爲字符串。 – zeebonk
@ user1704332如何閱讀[documentation](http://docs.python.org/library/random.html#random.randint)?如果閱讀文檔後事情不清楚,一定要問,但你應該先嚐試自己弄清楚。 –
你幾乎肯定不希望使用random.choice
此; Caner Korkmaz的答案要好得多。
但是,如果由於某種原因,你真的需要使用random.choice
(例如,因爲它是一個家庭作業和你的教授堅持),見the documentation:
random.choice(SEQ)
返回隨機元素來自非空序列seq。如果seq爲空,則引發IndexError。
所以,你需要得到一個包含字符串「1」到「15」的序列。要做到這一點:
rooms = [str(i) for i in range(1, 16)]
然後:
room = random.choice(rooms)
有多種方式來解決這個問題。只需選擇一種最適合您情況的方法,並且您發現它最具可讀性。
的random.choice()方法偉大工程時,你有資格選擇的人口已經處於列表:
>>> rooms = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']
>>> random.choice(rooms)
'7'
的random.randrange()時,選用的是數字功能的工作原理和連續的(雖然你仍然要調用STR之後):
>>> str(random.randrange(1, 16))
'2'
換一個計算機科學點最後一個是最優雅的;然而,就明確表達代碼在遊戲中的意圖而言,第一個通過說「隨機選擇可用房間」獲勝。
@ user1704332 ..你不需要抱歉不需要有好的概念的東西.. :) ..坦率地說..這根本不是一個壞英語.. –