登录
首页 >  文章 >  python教程

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

时间:2024-12-12 16:31:01 431浏览 收藏

从现在开始,努力学习吧!本文《Python 代码求两数间素数和时,为什么输出一堆等于号?》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

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

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

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)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>