小编Eni*_*rsa的帖子

使用Haskell的元素随机网格

拥有Haskell的经验绝对为零,我需要提出与该Python等效的代码:

from random import choice, sample

def random_subset():
    return tuple(sample(('N', 'S', 'W', 'E'), choice((1, 2, 3, 4))))

def form_grid(n):
    return [[random_subset() for _ in range(n)] for _ in range(n)]

form_grid(10)
Run Code Online (Sandbox Code Playgroud)

产生这样的事情:

N     ESWN  SNEW  NSE   EWSN  E     ENSW  N     NSWE  WES   
NE    WNS   SWEN  EWN   ENWS  WEN   WS    W     ENSW  NW    
WENS  NWE   SNEW  ES    E     S     ES    SENW  EW    WEN   
NSE   NE    WNE   NEWS  SNE   W     SWNE  NSWE  SNEW  EN    
S     SNW   WNES  S     WESN  E     ES    N     ESN …
Run Code Online (Sandbox Code Playgroud)

random io haskell do-notation io-monad

2
推荐指数
1
解决办法
94
查看次数

标签 统计

do-notation ×1

haskell ×1

io ×1

io-monad ×1

random ×1