python基础函数练习题

文章展示了Python中函数参数的使用,包括位置参数、默认值、可变元组和字典参数。接着讨论了全局和局部变量,以及如何使用`global`和`nonlocal`关键字。此外,文章还涉及到了推导式在列表、元组、字典和集合中的应用。文章通过实例演示了寻找相差特定数值的质数对的算法,并实现了一个随机数分配到两个列表并计算平均数差值的程序。最后,文章给出了一个不使用内置`sort`函数进行列表排序的方法。
一、编写函数包含 位置参数,关键字参数,可变元组参数,可变字典参数
def fun(a, b=10, *args, **kwargs):
    print(a, b, args, kwargs)


fun(10, 5, 60, kw=789)
二、编写函数验证 全局变量, 局部变量, gloabl与nonlocal关键字使用
v = 10
print(v)


def fun(v1):
    print(v1)


    global v2
    v2 = 80
    print(v2)


    v3 = 90


    def fun2():
        nonlocal v3
        v3 = 70
        print(v3)

    fun2()
    print(v3)


fun(10)
print(v)
三、编写推导式案例 列表 元组 字典 集合
# l = [1, 2, 3]#列表
# l1 = [e for e in l]
# print(l)
# s = (1, 2, 3) #元组
# s1 = (c for c in s)
# print(s1)
# d = {"name":"小明","old":"15"} #字典
# d1 = {k:k for k in d}
# print(d1)
# s = {1, 2, "hello"}
# s1 = {e for e in s}
# print(s1)
四.编写函数求从a,b 相差为c的质数对
 def fun(a, b, c):
     for i in range(a, b + 1):
         for j in range(2, i):
             if i % j == 0:
                 break
         else:
             for x in range(a, i + 1):
                 for y in range(2, x):
                     if x % y == 0:
                         break
                 else:
                     if i - x == c:
                         print(i, x, c)
     return


 fun(10, 50, 6)
import random
 五、随机10000个位于50-100之间的整数,80%的概率放入列表1,20%的概率放入列表2
 求列表1平均数与列表2平均数的差值
l1 = []
l2 = []
total1 = 0
total2 = 0
count1 = 0
count2 = 0
for i in range(10000):
    value = random.randint(50, 100)
    if random.random() <= 0.8:
        l1.append(value)
        total1 += 1
        count1 += value
    else:
        l2.append(value)
        total2 += 1
        count2 += value
print((count1/total1)- (count2/total2))
六、现有一个列表 [1,5,3,2,8,9,4,6]
  不适用sort函数 对其进行排序
l = [1, 5, 3, 2, 8, 9, 4, 6]
l1 = []
for i in range(len(l), 0, -1):
    value = min(l)
    l1.append(value)
    l.remove(value)
print(l1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值