欢迎大家访问我的网站!
图片名称

Python学习:Python 代码求两数间素数和时,为什么输出一堆等于号?

iwfacn2024-11-11 19:13:4958Python学习Python知识

Python学习:Python 代码求两数间素数和时,为什么输出一堆等于号?-第1张图片

Python学习:Python 代码求两数间素数和时,为什么输出一堆等于号?-第2张图片

为什么求两数间素数和时会输出一堆等于号?

Python学习:Python 代码求两数间素数和时,为什么输出一堆等于号?-第3张图片

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)

运行这段代码后,却输出了一堆等于号,原因在于:

  • 函数 num 每次调用只能返回一个值,它返回素数或 0。

修改后的代码:

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)

以上就是Python 代码求两数间素数和时,为什么输出一堆等于号?的详细内容,

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:http://www.iwfacn.com/118.html

图片名称
热门文章
随机文章
热门标签
侧栏广告位
图片名称
图片名称