所以我有一个家庭作业这两个问题,我卡在第二个。Python Set Comprehension
使用Python的集理解(Python的等价集生成符号),以生成一组的所有质数小于100召回的是一个素数是一个整数,大于1不能被除本身以外的任何整数整除,1.将一组素数存储在一个变量中(您将需要它用于其他部分)。输出素数集(例如,使用打印功能)。
使用Python Set Comprehension生成一组有序对(长度为2的元组),由所有由小于100的素数组成的素数对组成。主对是一对连续的奇数,它们都是主要。将您的一组Prime对存储在一个变量中。您的号码1将非常有帮助。输出你的一组Prime对。
对于第一个,这个完美的作品:
r= {x for x in range(2, 101)
if not any(x % y == 0 for y in range(2, x))}
不过,我敢难倒第二个。我认为我可能不得不把某个r的Cartesian产品带上某个东西,但我不确定。
这让我有点接近,但我只想连续配对。
cart = { (x, y) for x in r for y in r
if x < y }
我不知道为什么你的更好的方法比较好。 OP已经有''r'中的素数小于100,因此如果r中的x + 2满足,则{{(x,x + 2) – DSM
你是对的,我误解了他的代码。谢谢。 – icedtrees
'和x%2 == 1'没有必要。 – thefourtheye