pythonála Haskell中对直角三角形的列表理解是什么?

2024-10-03 15:26:59 发布

您现在位置:Python中文网/ 问答频道 /正文

在哈斯凯尔:

ghci> let rightTriangles' = [ (a,b,c) | c <- [1..10], a <- [1..c], b <- [1..a],
a^2 + b^2 == c^2, a+b+c == 24]

ghci> rightTriangles'
[(6,8,10)]

在Python中有这样一个优雅的列表理解解决方案吗?在


Tags: 列表解决方案letghcirighttriangles
2条回答

相当简单的语法交换:

>>> [ (a,b,c) for c in range(1,11)
... for b in range(1,c+1)
... for a in range(1,b+1)
... if a**2 + b**2 == c**2 ]
[(3, 4, 5), (6, 8, 10)]

我跳过了您的a+b+c == 24检查,但如果您真正需要的话,您可以添加它。在

有一个直接的翻译。在

[(a, b, c)
 for c in range(1, 11)
 for a in range(1, c + 1)
 for b in range(1, a + 1)
 if a**2 + b**2 == c**2 and a + b + c == 24]

相关问题 更多 >