为什么用python求两数间素数和会输出一堆等于号?
def num(n):
for i in range(2,n):
if n %i == 0:
return 0
break
else:
return n
a = int(input())
b = int(input())
s = 0
for n in range(a,b+1):
s += num(n)
if n == 1:
print("he%d"%s-1)
else:
print("he%d"%s)
回复
1个回答

test
2024-07-13
因为函数每次调用只能有一个返回值,换成列表再计算吧!
def num(n):
return [n if n%i!=0 else (n-n) for i in range(2,n)]#条件if else生成列表推导式
a = int(input())
b = int(input())
s = 0
for n in range(a,b+1):
for t in num(n):#此处原来返回none,none与int不能运算
s += t#拆开返回的列表推导式进行运算
if n == 1:
print("he%d"%(s-1))#不同数据类型不能运算,先运算再合并字符串
else:
print("he%d"%s)
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容