首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的随机函数并不总是有效?

问为什么我的随机函数并不总是有效?
EN

Stack Overflow用户
提问于 2019-01-22 00:33:33
回答 1查看 81关注 0票数 1

我的函数应该给我6个数字,但为了避免零,也不应该重复任何数字,但有时它会给我带来0或重复的数字

代码语言:javascript
复制
(defn function
  []
  (def lista (sort (take 6 (repeatedly #(rand-int 60)))))
  (loop []
    (when (or (= (contains? (set lista) 0) true) (< (count (set lista)) 6))
      (def lista (sort (take 6 (repeatedly #(rand-int 60)))))))
  (println lista))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-22 01:21:36

要解决你的问题,你不需要这个函数。您可以随机取10,然后调用set函数来删除重复项,并仅对正数进行过滤,然后从中取6。代码是这样的。20只是一个随机样本

代码语言:javascript
复制
(take 6 (filter pos? (set (take 20 (repeatedly #(rand-int 60))))))

或

(->> #(rand-int 60) (repeatedly) (take 20) (set) (filter pos?) (take 6) )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54294175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档