头歌python实训通关五——面向过程编程——基础

第1关:实现计算最大公约数和最小公倍数的函数。

任务描述

本关任务:编写一个能计算两个正整数最大公约数和最小公倍数的函数。。

相关知识

为了完成本关任务,你需要掌握:1.函数定义及调用,2.循环语句,3.条件语句。

编程要求

根据提示,在右侧编辑器补充代码,计算并返回最大公约数和最小公倍数。

测试说明

平台会对你编写的代码进行测试:

测试输入: 2 4; 预期输出: 最大公约数为: 2 最小公倍数为: 4

测试输入: 6 9; 预期输出: 最大公约数为: 3 最小公倍数为: 18

#gcd为求最大公约数的函数
#lcm为求最小公倍数的函数

def gcd(x, y):
    Min = min(x,y)
    while Min > 0:
        if (x % Min == 0 and y % Min == 0):
            break
        Min -= 1
    return Min

# **************end*************#

def lcm(x, y):
    Max = max(x, y)
    while Max <= x * y:
        if Max % x == 0 and Max % y == 0:
            break
        Max += 1
    return Max

第2关:实现判断一个正整数 是不是回文数的函数。

任务描述

本关任务:编写一个能判断一个正整数数是不是回文数的函数。 回文数:正反读取都一致的数字,如1221,23432

相关知识

为了完成本关任务,你需要掌握:1.函数定义及其调用,2.循环语句。

编程要求

根据提示,在右侧编辑器补充代码,计算并返回一个数是否为回文数,如是,返回True,如不是,返回False。

测试说明

平台会对你编写的代码进行测试:

测试输入:11112221111; 预期输出: True

测试输入:6788672; 预期输出: False

测试输入:18532348284323581; 预期输出: True

def is_palindrome(num):
    """
    判断一个数是不是回文数
    :param num: 正整数
    :return: 是回文数返回True,不是回文数返回False
    """
    #        请在此处添加代码       #
    # *************begin************#
    a=str(num)
    b=list(a)
    c=list(reversed(b))
    return b==c
    
    # **************end*************#

第3关:实现判断一个数是不是素数的函数。

任务描述

本关任务:编写一个能判断一个数是否为素数的函数。

相关知识

为了完成本关任务,你需要掌握:1.函数定义及调用,2.循环语句。

编程要求

根据提示,在右侧编辑器补充代码,判断一个数是否为素数,如是素数,返回True,如不是素数,返回False。

测试说明

平台会对你编写的代码进行测试:

测试输入:85; 预期输出: False

测试输入:17; 预期输出: True

def is_prime(num):
    """
    判断一个数是不是素数
    :param num: 正整数
    :return: 是素数返回True,不是素数返回False
    """
    #        请在此处添加代码       #
    # *************begin************#
    n=2
    while n<= num/2:
        if num%n==0:
            return False
        n+=1
    return True
    # **************end*************#

第4关:判断输入的正整数是不是回文素数。

任务描述

本关任务:调用前面关节中的函数去判断输入的正整数是不是回文素数。

相关知识

为了完成本关任务,你需要掌握:1.函数调用。

编程要求

根据提示,在右侧编辑器补充代码,判断输入的正整数是不是回文素数。是则返回Ture,否则返回False。

测试说明

平台会对你编写的代码进行测试:

测试输入:1221; 预期输出: False

测试输入:5; 预期输出: True

from isprime import is_prime
from ispalindrome import is_palindrome
def prime_palindrome(num):
    """
        判断一个数是不是回文素数
        :param num: 正整数
        :return: 是回文素数返回True,不是回文素数返回False
        """
    #        请在此处添加代码       #
    # *************begin************#
    a=list(str(num))
    b=list(reversed(a))
    if a==b:
        c=True
    else:
        c=False
    n=2
    while n <= num/2:
        if num%n==0:
            return False
        n+=1
    return True and c
    # **************end*************#

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值