Python 函数的调用

题目:

img

求大家解释一下为什么运行结果会是以下图片,应是函数的调用出现了问题吗?如何修改?

img

楼主判断素数的函数不对。
另外,题目要求是输出两个数之间素数的平方和。

def isprime(X):
    count = 0
    for n in range(2, X):
        if X % n == 0:
            count += 1
            break
    if count == 0:
        return True
    return False

a = eval(input("input a:"))
b = eval(input("input b:"))

nsum = 0
for i in range(a , b + 1):
    if isprime(i) == True:
        nsum += i * i
print (nsum)
    """prime judgement"""
    for j in range(2, x):
        if x % j == 0:
            return False
    return True


a = eval(input("请输入第一个数的值:"))
b = eval(input("请输入第二个数的值:"))
for i in range(a, b):
    if isprime(i):
        print(i, i*i)

因为你素数判断那里有问题,不满足素数循环,所以不会打印

1.你沒計算結果, 2.你的range()函數第二个參數應+1
按你的思路試了一下, 可以的


def ispri(x):
    for i in range(2, x//2+1):
        if x%i==0:
            return False
        elif i==x//2:
            return True


a = int(input('輸入下限:'))
b = int(input('輸入上限:'))
exp = ''

for i in range(a, b+1):
    if ispri(i):
        exp += f'{i}*{i}+'
exp += '0'
print(exp)
print(eval(exp))

img