python函数,模块与包实验

自学python函数 欢迎各位大神来指导指出错误 并进行纠正
#定义函数
#def 函数名([参数列表]) 参数可以没有 也可以有多个
#    [函数注释]
#    [语句块,函数体]
#    [retrun语句]
#方括号[]内的的东西可有可无!
# return 返回值 将return后面的值返回给外界
# return可以提前结束整个函数 执行return后 后面的将不再执行 如果有print 也不执行!
# return后面可以返回有多个值,用逗号“,”隔开 用相同变量来接收 如果多个值返回一个 则输出是元组

1. 定义一个用于计算的函数,请按照以下要求完成。

要求如下:

  1. 函数有3个参数,operation默认值为“+”,只能接收“-”、“*”和“/”符号;num1和num2分别用于接收整数。
  2. 使用if-elif语句判断,如果为“+”,返回num1和num2的和;如果为“-”,返回num1和num2的差,以此类推。
  3. 注意,处理num2不为0的情况。
def count(num1,num2,operation="+"):#默认operation= “+”
    if operation =="+":
        return num1+num2
    elif operation =="-":
        return num1-num2
    elif operation =="*":
        return num1*num2
    elif operation =="/":
        if num2==0:
            return "除数不能等于0"
        else:
            return num1/num2
print(count(8,2,))
print(count(8,2,"-"))
print(count(8,2,"*"))
print(count(8,2,"/"))

2.根据 Python 语言定义和调用函数出实现输出斐波那契数列的方法,并比较不同实现方法的性能。

①  def feibonaqishulie(num):

    if num<=1:

        return num

    else:

        return feibonaqishulie(num-1)+feibonaqishulie(num-2)

print("递归方法:")

for i in range(10):

    print(feibonaqishulie(i))

def feibonaqishulei(num):

    if num<=0:

        return 0

    elif num==1:

        return 1

    else:

        a,b=0,1

        for i in range(2,num+1):#2开始迭代到n

            a,b=b,a+b     # 返回斐波那契数列的第n项

        return b

for i in range(1,11):

    print(feibonaqishulei(i))

笔记:

# 初始化多个变量:你可以在一行中初始化多个变量,如 x, y, z = 0, 0, 0。
# 交换两个变量的值:你可以使用多重赋值来交换两个变量的值,无需使用额外的临时变量,如 a, b = b, a。
# 从函数返回多个值:如果一个函数需要返回多个值,你可以使用多重赋值来接收这些值,如 x, y = func()。
# 遍历序列:当遍历一个包含元组或列表的序列时,你可以使用多重赋值来同时获取每个元组或列表的元素,如 for x, y in list_of_tuples:。
# 多元赋值:是把计算后的结果赋值给变量;

3. 请按照以下要求操作。

要求如下:

  1. 定义全局变量count,并赋值为10;
  2. 定义函数test,在函数内部有变量count,赋值为100,并输出了count的值;
  3. 调用函数,查看count的值;
  4. count=10
    
    def test():
    
        count=100
    
        print(count)
    
    test()
  5. 在函数内部的count前面加上global;
  6. 再次调用函数,查看count的值。
  7. count=10
    
    def test():
    
        global count
    
        print(count)
    
    test()
  8. 笔记:
    # 1.全局变量是在函数外定义的变量
    # 2.局部变量是在函数内定义的变量
    # 3.函数内可以直接访问全局变量的
    # 4.函数内不可以直接修改全局变量
    # 5.函数外不可以直接访问局部变量
    # 解决4,5问题可以用·global 声明
    # 6.同名的局部变量会覆盖全局变量

5.请按照以下要求操作。要求如下:

  1. 导入random模块;
  2. 生成0~1的随机浮点数,打印输出;
  3. 生成1~100的随机浮点数,打印输出;

    4.生成1~100的随机整数,打印输出;

     5.生成1~10的偶数,并打印输出;

import random
fds=random.random()#生成0-1之间的浮点数
print(fds)
fds2=random.uniform(1,100)#生成[1,100]之间的浮点数;
print(fds2)
zs=random.randint(1,100)#生成[1,100]之间的整数
print(zs)
os=random.randrange(2,100,2)#生成[2,100]之间的偶数
print(os)
js=random.randrange(1,100,2)#生成[1,100]之间的奇数
print(js)
poker = ['2','3','4','5','6','7','8','9','10','J','Q','K','A']#洗扑克牌
random.shuffle(poker)
print(poker)
rnd = random.choice(['剪刀', '石头', '布'])#从序列中随机取一个元素
print(rnd)
fd2 = round(random.uniform(1, 100),2)#生成[1,100]之间的浮点数,2位精度
print(fd2)

4.使用匿名函数,验证三条线是否能构成直角三角形。要求如下:

  1. 定义一个函数,有两个接收线长度的参数a和b,返回一个匿名函数。
  2. 判断选择最短的两条线;
  3. 匿名函数用于计算这两个短边的平方和;
  4. 如果函数返回的结果跟第三条边的平方相等,表示是直角三角形。
  5. def triangle(a, b):
    
        shortest_sides = sorted([a, b])
    
        sum_of_squares = lambda x, y: x**2 + y**2
    
    
    
        if sum_of_squares(*shortest_sides) == c**2:
    
            return True
    
        else:
    
            return False
    
    
    
    a = float(input("请输入第一条线的长度:"))
    
    b = float(input("请输入第二条线的长度:"))
    
    c = float(input("请输入第三条线的长度:"))
    
    
    
    if triangle(a, b):
    
        print("这三条线构成直角三角形!")
    
    else:
    
        print("这三条线不构成直角三角形。")
  • 44
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值