python 函数怎么解

定义一个名为isPinme(anumaber)的西数,参数为一个正整数。调用这个函数,能够判断一个正整数是否为 质数,是质数则返回 True,不是质数则返回 False。在同一源程序中,使用键盘输入一个正整数,验证该函数是否能够正确判断输入数为质数。


def is_prime(n):
    """判断n是否为素数"""
    if n == 2:
        return True
    # 遍历2到n/2,如果有能被n整除,说明不是素数,直接返回False
    for i in range(2, n // 2 + 1):
        if n % i == 0:
            return False
    # 遍历完之后没有return,说明是素数,返回True
    return True

n = int(input('请输入一个正整数:'))
print(is_prime(n))

有帮助的话,请点采纳该答案~

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    解决方案:

    首先给出判断一个数是否为质数的函数 isPrime(number) 的实现:

    def isPrime(number):
        if number <= 1:
            return False
        for i in range(2, int(number**(1/2))+1):
            if number % i == 0:
                return False
        return True
    

    该函数首先处理特殊情况,如果数字 number 小于等于 1,直接返回 False。否则遍历从 2 开始到 number 的平方根之间的数字 i,如果 i 是 number 的约数,则该数字不是质数,返回 False。如果遍历完所有数字,都没有找到约数,说明该数字是质数,返回 True。

    接着,我们使用键盘输入读取一个正整数,调用上面的 isPrime 函数判断该数字是否为质数:

    def test_isPrime():
        number = int(input("请输入一个正整数:"))
        if isPrime(number):
            print("{}是质数".format(number))
        else:
            print("{}不是质数".format(number))
    test_isPrime()
    

    该函数首先使用 input 函数获取用户输入的字符串,我们需要使用 int 函数将字符串转化为整数。接着调用 isPrime 函数判断该数字是否为质数,并输出结果。

    完整代码如下:

    def isPrime(number):
        if number <= 1:
            return False
        for i in range(2, int(number**(1/2))+1):
            if number % i == 0:
                return False
        return True
    
    
    def test_isPrime():
        number = int(input("请输入一个正整数:"))
        if isPrime(number):
            print("{}是质数".format(number))
        else:
            print("{}不是质数".format(number))
    
    test_isPrime()
    

    测试结果:

    请输入一个正整数:37
    37是质数
    
    请输入一个正整数:200
    200不是质数
    

    注意:

    • 在 Python 中, 表示指数,即幂运算,例如 23 = 8
    • range 函数左闭右开,即 range(1, 5) 生成的数列为 [1,2,3,4],range(5) 生成的数列为 [0,1,2,3,4]

    本题目的重点是如何判断一个正整数是否为质数,因此我们只提供了 isPrime 函数的代码实现,而没有考虑各种不同的测试情况。如果想要更完整的代码实现,需要进一步考虑测试数据的完备性和正确性。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^