我正在尝试创建一个无限的毕达哥拉斯值列表,但我遇到了一个问题。
pytrips = [(x, y, z) | z <- [1..], y <- [1..z], x <- [1..y],
(x^2 + y^2) <- z^2, gcd x y == 1]
我的错误如此:
"First argument in (n+k) pattern must be a variable"
我不太明白我为此做了什么语法问题,因为该方法不需要传递任何参数。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:7)
你可能想写==
而不是<-
:
pytrips = [(x, y, z) | z <- [1..], y <- [1..z], x <- [1..y],
x^2 + y^2 == z^2, gcd x y == 1]