检查奇数是否为 2p+q 形式的脚本
A script for checking whether any odd number is in the form 2p+q
我想制作一个 python 脚本,可以检查是否有任何奇数在 2p+q 形式上,其中 p 和 q 是两个素数,这是我的脚本,但我不知道为什么没用
prime1 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
prime2 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
def isit(x):
for p in prime1:
for q in prime2:
if x == p+2*q or x == q+2*p:
return 'It is'
else:
return 'It is not'
print(isit(7))
很明显7=2*2+3
,但我写的脚本说'It is not',所以为什么它不起作用,它看起来对我来说很好。
在尝试了所有组合之前,您不能return“不是”。
for p in prime1:
for q in prime2:
if x == p+2*q or x == q+2*p:
return 'It is'
return 'It is not'
试试这个
prime1 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
prime2 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
def isit(x):
result = 'It is not'
for p in prime1:
for q in prime2:
if x == p+2*q or x == q+2*p:
result = 'It is'
return result
print(isit(7))
输出
It is
检查 p = 2 和 q = 2!
然后你的脚本 returns 'It is not'.
我想制作一个 python 脚本,可以检查是否有任何奇数在 2p+q 形式上,其中 p 和 q 是两个素数,这是我的脚本,但我不知道为什么没用
prime1 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
prime2 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
def isit(x):
for p in prime1:
for q in prime2:
if x == p+2*q or x == q+2*p:
return 'It is'
else:
return 'It is not'
print(isit(7))
很明显7=2*2+3
,但我写的脚本说'It is not',所以为什么它不起作用,它看起来对我来说很好。
在尝试了所有组合之前,您不能return“不是”。
for p in prime1:
for q in prime2:
if x == p+2*q or x == q+2*p:
return 'It is'
return 'It is not'
试试这个
prime1 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
prime2 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
def isit(x):
result = 'It is not'
for p in prime1:
for q in prime2:
if x == p+2*q or x == q+2*p:
result = 'It is'
return result
print(isit(7))
输出
It is
检查 p = 2 和 q = 2! 然后你的脚本 returns 'It is not'.