erlang习作:36选7彩票选号程序
该程序会让你指定其中一个号码(我一般指定我的幸运数字),然后随机产生剩余的六个号码。
- -module(lottery).
- -export([main/0]).
- get_lucky_num() ->
- get_lucky_num(lists:map(fun erlang:integer_to_list/1, lists:seq(1, 36))).
- get_lucky_num(List36) ->
- Num = string:strip(io:get_line("Please input your lucky number>"), right, $n),
- case lists:member(Num, List36) of
- true ->
- Num;
- false ->
- io:format("Must input an integer between 1 and 36!~n", []),
- get_lucky_num(List36)
- end.
- roll(Result) when length(Result) < 7 ->
- RNum = integer_to_list(random:uniform(36)),
- case lists:member(RNum, Result) of
- true ->
- roll(Result);
- false ->
- roll([RNum | Result])
- end;
- roll(Result) ->
- Result.
- output_result(Result) ->
- io:format("Got your numbers: ~s.~n", [string:join(lists:sort(fun(A,B)->list_to_integer(A)<list_to_integer(B) end, Result), " ")]).
- main() ->
- output_result(roll([get_lucky_num()])).
复制代码
[ 本帖最后由 formalin14 于 2008-9-12 14:24 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我的幸运六
复制代码
这真是太好了
从prolog来的
而且号称眼睛杀手
Erlang 的语法真是。。。
看不懂,不过支持一把。
good