五、函数练习题

一、练习题

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

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

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

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

 

答案:

练习1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
"""
函数的定义和使用 - 求最大公约数和最小公倍数
"""
 
 
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:

1
2
3
4
5
6
7
"""判断一个数是不是回文数"""<br>def is_palindrome(num):
    temp = num
    total = 0
    while temp > 0:
        total = total * 10 + temp % 10
        temp //= 10
    return total == num

  

练习3:

1
2
3
4
5
6
7
"""
判断一个数是不是素数
"""<br>def is_prime(num):
    for factor in range(2, num):
        if num % factor == 0:
            return False
    return True if num != 1 else False

  

练习4:

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

  

 

posted @   小红帽爱吃大灰狼  阅读(424)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示