erlang习作:36选7彩票选号程序

发布于 2022-08-07 01:43:07 字数 2349 浏览 12 评论 6

该程序会让你指定其中一个号码(我一般指定我的幸运数字),然后随机产生剩余的六个号码。

  1. -module(lottery).
  2. -export([main/0]).
  3. get_lucky_num() ->
  4.         get_lucky_num(lists:map(fun erlang:integer_to_list/1, lists:seq(1, 36))).
  5. get_lucky_num(List36) ->
  6.         Num = string:strip(io:get_line("Please input your lucky number>"), right, $n),
  7.         case lists:member(Num, List36) of
  8.                 true ->
  9.                         Num;
  10.                 false ->
  11.                         io:format("Must input an integer between 1 and 36!~n", []),
  12.                         get_lucky_num(List36)
  13.         end.
  14. roll(Result) when length(Result) < 7 ->
  15.         RNum = integer_to_list(random:uniform(36)),
  16.         case lists:member(RNum, Result) of
  17.                 true ->
  18.                         roll(Result);
  19.                 false ->
  20.                         roll([RNum | Result])
  21.         end;
  22. roll(Result) ->
  23.         Result.
  24. output_result(Result) ->
  25.         io:format("Got your numbers: ~s.~n", [string:join(lists:sort(fun(A,B)->list_to_integer(A)<list_to_integer(B) end, Result), " ")]).
  26. main() ->
  27.         output_result(roll([get_lucky_num()])).

复制代码
[ 本帖最后由 formalin14 于 2008-9-12 14:24 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

避讳 2022-08-17 12:49:54

我的幸运六

  1. %-module(lucky).
  2. -define(P, io:format).
  3. lucky (_, R, 0) -> R;
  4. lucky (L, R, N) ->
  5.     P = random:uniform (L),
  6.     case lists:member (P, R) of
  7.       true -> lucky (L, R, N);
  8.       false -> lucky (L, [P|R], N - 1)
  9.     end.
  10.   
  11. main(_) ->
  12.   {N, S} = {36, 6},
  13.   random:seed (time()),
  14.   Lucky = lucky (N, [], S),
  15.   ?P ("~p~n", [Lucky]),
  16. halt.

复制代码

只是一片海 2022-08-17 12:25:07

这真是太好了

半城柳色半声笛 2022-08-16 23:25:09

原帖由 MMMIX 于 2008-9-12 21:53 发表
Erlang 的语法真是。。。

从prolog来的
而且号称眼睛杀手

暮年慕年 2022-08-15 14:08:50

Erlang 的语法真是。。。

不离久伴 2022-08-07 13:19:55

看不懂,不过支持一把。

梦断已成空 2022-08-07 09:04:21

good

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文