如何調整此功能,如果它運行多次,它不會返回以前的方向?例如,如果它生成N
,則下一次不會返回N
。在列表中生成隨機項目
import random
def random_direct():
directions=['N','S','E','W']
return random.choice(directions)
謝謝你的時間!
此問題要求返回隨機項目不打印它。
如何調整此功能,如果它運行多次,它不會返回以前的方向?例如,如果它生成N
,則下一次不會返回N
。在列表中生成隨機項目
import random
def random_direct():
directions=['N','S','E','W']
return random.choice(directions)
謝謝你的時間!
此問題要求返回隨機項目不打印它。
如果您可以通過以前的方向,如在另一個答案,這是最好的。如果你不能,你可以做一些兩輪牛車(我做不推薦的):
def random_direct(_prev = [None]):
directions = [direction for direction in ('N', 'S', 'E', 'W')
if direction != _prev[0]]
res = random.choice(directions)
_prev[0] = res
return res
調用不帶任何參數的功能,如random_direct()
。
可能的重複http://stackoverflow.com/questions/29805042/python-avoid-previous-value-from-random-selection-from-list –
可能的重複[Python |避免從列表中隨機選擇以前的值](http://stackoverflow.com/questions/29805042/python-avoid-previous-value-from-random-selection-from-list) –