头歌python-4.2自定义数学函数

第1关:pow函数详解

def pow(x, n):  # 幂运算函数
    """接收一个数字x和一个整数n为参数,返回x的n次幂的结果的浮点数类型
    要求使pow(1.0, x) 和 pow(x, 0.0) 总是返回 1.0"""
    #########################Begin###############################
    if x == 1.0 or n == 0.0:
        return 1.0
    else:
        return x**n

    #########################End###############################


if __name__ == "__main__":
    x = float(input())
    n = int(input())
    return_data = pow(x, n)
    print(return_data)

第2关:最大公约数

def gcd(a, b):
    """接收两个正整数为参数,返回两个数的最大公约数"""
    #######################Begin############################
    n = max(a, b)
    m = min(a, b)
    r = n % m
    while r != 0:
        n = m
        m = r
        r = n % m
    return m

    #######################End############################


if __name__ == "__main__":
    a = int(input())
    b = int(input())
    return_data = gcd(a, b)
    print(return_data)

第3关:最小公倍数

def lcm(a, b):
    """接收两个正整数为参数,以整数类型返回两个数的最小公倍数"""
    ######################Begin###############################
    n = max(a, b)
    m = min(a, b)
    x = a * b
    r = n % m
    while r != 0:
        n = m
        m = r
        r = n % m
    return x // m

    ######################End###############################


if __name__ == "__main__":
    a = int(input())
    b = int(input())
    return_data = lcm(a, b)
    print(return_data)

第4关:fabs() 函数

def fabs(x):
    """返回x的绝对值"""
    ######################Begin###############################
    if x < 0.0:
        return -x * 1.0
    else:
        return x * 1.0

    ######################End###############################


if __name__ == "__main__":
    x = eval(input())
    return_data = fabs(x)
    print(return_data)

第5关:ceil() 函数

def ceil(x):
    """接受一个浮点数或整数,返回大于或等于该数的最小整数"""
    ######################Begin###############################
    if int(x // 1) == x:
        return x
    else:
        return int(x // 1 + 1)

    ######################End###############################


if __name__ == "__main__":
    x = eval(input())
    return_data = ceil(x)
    print(return_data)

第6关:floor()函数详解

def floor(x):
    """接受一个浮点数或整数,返回不大于该数的最大整数"""
    ######################Begin###############################
    if x == int(x // 1):
        return x
    else:
        return int(x // 1)

    ######################End###############################


if __name__ == "__main__":
    x = eval(input())
    return_data = floor(x)
    print(return_data)

第7关:factorial函数详解

def factorial(n):
    """接收一个非负整数n为参数,返回n的阶乘,0的阶乘值为1"""
    ######################Begin###############################
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

    ######################End###############################


if __name__ == "__main__":
    x = int(input())
    return_data = factorial(x)
    print(return_data)

第8关:fsum函数

from math import *


def fsum(iterable):
    """接收一个元素为数值的序列为参数,以浮点数类型返回各元素之和"""
    ######################Begin###############################
    s = 0
    for i in iterable:
        s += i
    return float(s)

    ######################End###############################


if __name__ == "__main__":
    x = list(map(eval, input().split()))
    return_data = fsum(x)
    print(return_data)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值