我应该从整数输入中返回一个元组列表。 例如: 输出'4 应该返回一个元组列表:
[(1, 1);
(2, 1); (2, 2);
(3, 1); (3, 2); (3, 3);
(4, 1); (4, 2); (4, 3); (4, 4)]
此刻我得到
[(1, 1); (1, 2); (1, 3); (1, 4);
(2, 1); (2, 2); (2, 3); (2, 4);
(3, 1);(3, 2); (3, 3); (3, 4);
(4, 1); (4, 2); (4, 3); (4, 4)]
到目前为止我所拥有的:
let output' x =
let ls= [1..x]
ls |> List.collect (fun x ->[for i in ls -> x,i])
output' 4
我不知道如何获得所需的输出。任何帮助,将不胜感激。
答案 0 :(得分:1)
您可以添加一个过滤器:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8" />
<title>Lab 10</title>
<script src="lab10script.js"></script>
</head>
<body>
<form name="form">
<input type="text" name="bedrag" id="bedrag" placeholder="Vul bedrag in" />
<select id="list">
<option>dollar/euro</option>
<option>euro/dollar</option>
<option>ruble/euro</option>
<option>euro/ruble</option>
</select>
<button type="button" onclick="myFunction()">Exchange</button>
</form>
</body>
</html>
或
...
|> List.filter (fun (a, b) -> a >= b)`
答案 1 :(得分:0)
在F#中,它们主要处理序列,因此这是一个序列驱动的惰性解决方案:
let output' max =
let getTuples x =
seq { 1 .. x }
|> Seq.map (fun y -> (x, y))
seq { 1 .. max }
|> Seq.map getTuples
如果需要列表,请将seq { 1 .. x }
替换为[ 1 .. x ]
。
它仍然比循环更具功能性。