我相信这意味着我不能在循环中使用变量,但是我有点卡在它上面。
我要解决的问题是:
创建一个算法,查找满足以下条件的小于n的素数对:(p * q)<= n(n是自然数)。
我考虑过使用列表理解。
到目前为止,我的代码:
n = 100
primes = [p for p in range(2, n) if 0 not in [p%d for d in range(2, p)]]
prime_pairs = [((p * q) <= n) for (p, q) in primes]
答案 0 :(得分:0)
prime_pairs = [((p * q) <= n) for (p, q) in primes]
罪魁祸首是。 primes是一个整数列表,因此您不能将单个int解压缩为元组。
如@ matina-g建议改用此:
prime_pairs = [(p, q) for p in primes for q in primes if p * q <= n]