编写一个推导式,生成包含100以内所有勾股数(i,j,k)的列表
本文介绍用Python语言编写了一个程序,实现生成包含100以内的所有勾股数
程序如下:
import math
print([(i,j,k) for i in range(100) if i>0
for j in range(100) if j>i
for k in range(100) if k-math.sqrt(i**2+j**2)==0])
运行程序后,结果如下:
验证结果正确,证明这个程序可以很方便很简洁的实现生成100以内所有勾股数的目的,当然我们也可以对程序进行更改以生成200,300或更大数值内的所有勾股数。
另外,再附上百度百科关于勾股数的定义链接,里面有实现生成勾股数的Java、c++、Python程序,可以和本文的程序进行比较,你会发现本文所写的程序更简洁。
百度百科(勾股数)