五、函数练习题

一、练习题

练习1:实现计算求最大公约数和最小公倍数的函数。

练习2:实现判断一个数是不是回文数的函数。

练习3:实现判断一个数是不是素数的函数。

练习4:写一个程序判断输入的正整数是不是回文素数。

 

答案:

练习1:

"""
函数的定义和使用 - 求最大公约数和最小公倍数
"""


def gcd(x, y):
    if x > y:
        (x, y) = (y, x)
    for factor in range(x, 1, -1):
        if x % factor == 0 and y % factor == 0:
            return factor
    return 1


def lcm(x, y):
    return x * y // gcd(x, y)


print(gcd(15, 27))
print(lcm(15, 27))

  

练习2:

"""
判断一个数是不是回文数
"""

def is_palindrome(num): temp = num total = 0 while temp > 0: total = total * 10 + temp % 10 temp //= 10 return total == num

  

练习3:

"""
判断一个数是不是素数
"""

def is_prime(num): for factor in range(2, num): if num % factor == 0: return False return True if num != 1 else False

  

练习4:

"""
判断输入的正整数是不是回文素数
"""
if __name__ == '__main__':
    num = int(input('请输入正整数: '))
    if is_palindrome(num) and is_prime(num):
        print('%d是回文素数' % num)

  

 

posted @ 2019-08-29 13:52  小红帽爱吃大灰狼  阅读(419)  评论(0编辑  收藏  举报