求看看这个代码的问题,素数含1

输入开始数字和结束数字,打印区间内所有的素数
题:输入11和25,打印11~25的所有素数,包括25

def is_prime(number):
if number in (1 , 2):
return True
for idk in range(2, number):
if number % I'd == 0;
return False
return True

def print_primes(begin, end):
for number in range(begin, end + 1);
if is_prime(number):
print(f''{number} is a prime'')

begin = 11
end = 25
print_primes(begin, end)

排版不对吧
if number in (1 , 2):
return True
应该return False啊,1不是素数啊

def is_prime(number):
    if number<2:
        return False
    for idk in range(2, number):
        if number % idk == 0:
            return False
    return True

def print_primes(begin, end):
    for number in range(begin, end + 1):
        if is_prime(number):
            print("%d is a prime"% number )
begin = 11
end = 25
print_primes(begin, end)

img

1 不是素数啊
你题目的解答代码如下:

def is_prime(number):
    if number < 2:
        return False
    for idk in range(2, number):
        if number % idk == 0:    #I'd 是什么?应该是idk ,一行最后是:冒号,你写成了;分号
            return False
    return True

def print_primes(begin, end):
    for number in range(begin, end + 1): #一行最后是:冒号,你写成了;分号
        if is_prime(number):
            print(f'{number} is a prime')  #引号不对

begin = 11
end = 25
print_primes(begin, end)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

您的素数判断函数不太正确,
代码如下:

def is_prime(number):
    if number < 2:
        return False
    else:
        for i in range(2, number):
            if number % i == 0:
                return False
        else:
            return True