作业有两个问题,第二个问题卡住了。
使用 Python 集合理解(Python 相当于 Set Builder 符号)生成一组所有小于100的素数。回想一下,素数是一个大于1的整数,除了它自己和1之外,不能被其他任何整数整除。将一组素数存储在一个变量中(其他部分需要它)。输出一组素数(例如,使用 print 函数)。
使用 Python 集合理解生成一组有序对(长度为2的元组) ,其中包含所有由小于100的素数组成的素数对。素数对是一对连续的奇数,它们都是素数。将素数对集存储在一个变量中。你的第一组数字会很有帮助。输出一组素数对。
对于第一种情况,这种方法非常有效:
r= {x for x in range(2, 101)
if not any(x % y == 0 for y in range(2, x))}
然而,我对第二个问题很困惑。我想我可能需要一些笛卡儿积,但是我不确定。
这让我有点接近,但我只是希望连续的对。
cart = { (x, y) for x in r for y in r
if x < y }