Python 列表-函数练习

列表练习

1. 向列表内添加以下数据:3, 8, 5, 2, 5。

one = [3,8,5,2,5]  # 定义了一个one列表

2. 获取第4个元素注意,并打印

one = [3,8,5,2,5]   # 定义了一个one列表
print(one[3])       # 使用 [] 方法取列表的下标  列表下标对应 [0,1,2,3] 或 [-4,-3,-2,-1]

3. 删掉第一个元素和最后一个元素

one = [3,8,5,2,5]   # 定义了一个one列表
one.pop(0)          # 使用pop函数(携带被删除的元素可用于储存变量;例如 a = one.pop(0))
one.pop(-1)         #  -1  则为最后一个元素   列表[0,1,2,3] 或 [-4,-3,-2,-1]

4. 打印列表的大小。

one = [3,8,5,2,5]  # 定义了一个one列表
print(len(one))    # 使用len()函数

5. 最后打印列表中的偶数。

one = [3,8,5,2,5]   # 定义了一个one列表
for a in one:       # 遍历one列表 赋值给 a变量
    if a % 2 == 0:  # 数值除以2取余( % ) 没有余数则是偶数
        print(a)    # 是偶数则打印

6.随机生成30个整数构成列表,并计算列表均值,然后利用列表中每个元素逐个减去均值  tip:  import random  random.randint(1,150)

import random              # 导入random库包
#=============随机生成30个正整数========================
arr = []                   # 定义了arr列表
toble = 0                  # 用来储存列表各元素相加的总和
for a in range(0,30):      # for循环30次
    ran = random.randint(1, 150)  # 生成随机数  范围是 1 - 150
    arr.append(ran)        # 使用 append(添加)函数把随机数添加进 arr 列表
else:
    for i in arr:          # 遍历arr里的随机数
        toble += i         # 递加arr里的值
    else:
        av = int(toble/len(arr))               # arr值总和/列表的长度(个数)= 平均值  (int()舍去小数位)
        print(f"列表均值为:{av}\n======================================\n")
        print("元素减去均值\n===============================\n")
        arr_av = []                            # 储存原始数减去均值后的列表
        for b in arr:
            #print(f"【 {b} 】元素减去均值为:\n",b-av)  # 普通打印出来
            arr_av.append(b-av)               # 使用 append(添加)函数把原始数减去均值后的值添加进 arr_av 列表
        print("减去均值后的各元素\n",arr_av)     # 打印 arr_av 列表

函数练习

1. 定义一个函数,用于输出10个hello world..

def hell():                # def 定义了一个 hell() 函数
    for a in range(1,11):  # 使用 for 循环遍历 10次
        print(f"第{a}次 Hello Word")

# ====================================== 调用函数 ======================================

hell()    # 调用函数

2. 定义一个函数,输入打印次数,根据打印次数输出对应的hello world...

def hell(a):                       # def 定义了一个 hell() 函数 并需要一个参数 定义为 a
    print("总共为:",a,"次")
    for a in range(0,a):           # 使用 for 循环遍历 a 次
        print(f"第{a+1}次 Hello Word")

# ====================================== 调用函数 ======================================

cot = int(input("输入打印次数:\n"))  # input() 输入 ;int() 整数
hell(cot)                           # 调用函数 并 传参数

3. 定义一个函数,输入两个数值和一个运算符,进行4则运算

def su(a,b,c):      # 定义了一个 su() 函数 并要求传入 a,b,c 三个参数
    if c == "/":    # 如果 c 符号 为除号
        return a/b
    elif c == "*":  # 如果 c 符号 为乘号
        return a*b
    elif c == "+":  # 如果 c 符号 为加号
        return a+b
    elif c == "-":  # 如果 c 符号 为减号
        return a-b
    else:
        return "输入有误!"  # 输入的不为以上

# ====================================== 调用函数 ======================================

a = int(input("请输入第一个数值\n"))    # 获取第一个值 赋值给 变量 a
b = int(input("请输入第二个数值\n"))   # 获取第二个值 赋值给 变量 b
c = input("请输入运算符号\n")         # 获取符号 赋值给 变量 c
arr = su(a,b,c)                    # 调用函数 并 传入 a,b,c 三个参数
print(arr)

4. 编写函数实现随机产生指定范围的整数的功能  参考random对象

import time                  # 导入 time函数 库包
def my_random(a,b):          # def 定义 my_random 函数 并要求传入 a,b 两个参数
    arr = []                 # 用来装取值范围的值
    for i in range(a, b+1):  # 遍历范围
        arr.append(i)        # 添加范围之内的值
    time.sleep(0.01)         # 使用 sleep 函数间隔1毫秒 防止重复
    a = int(time.time() * 100000 % len(arr))   # 使用时间戳time.time() % 列表的长度得到 a - b 之间的伪随机数
    return arr[a]            # 返回伪随机数 ; arr[a] 用伪随机数 a 取 arr 列表范围里的数 { 也就是( a - b ) 范围之间的数 }

# ====================================== 调用函数 ======================================

for i in range(0,10):        # 遍历 10 次 取 10次 随机数
    ret = my_random(1,20)    # 调用函数 my_random 并传入范围 1 - 20 赋值给 ret变量
    print(ret,end=" ")

5. 编写函数实现排序数字数组中数组元素的功能(可以指定升序或降序) 参考sort函数

def my_sort(arr,rev):               # 定义了 my_sort() 函数 并要求传入 arr 参数
    if rev == "升序" or rev == "sx":                                  # 跟降序反着换( 把最大值放到最后面 arr[len(arr)-1] )
        for i in range(len(arr)):                     # 循环 最大判断次数(列表的长度)
            is_stop = True                            # 用来接收 本次循环 是否有更换位置(是否全部更换以达到升序)
            for j in range(0, len(arr) - i - 1):      # 用来 取相邻的两个值  减 i(第一次从头判断到尾则已找到本次的最大值 则 从大找到小)减 1(下标是0开始)防止报错
                if arr[j] > arr[j + 1]:               # 比较前面一个是否比后边一个大 从0开始 取第一对 arr[j] > arr[j+1] = arr[0] > arr[0+1]
                    arr[j], arr[j + 1] = arr[j + 1], arr[j]  # 如果前一个比后一个大则进入 if 执行体 利用下标调用两个值 互换 位置
                    is_stop = False                   # 表示本次 有调换位(本次列表还没有全部判断完成)
            if is_stop:                               # 判断本次循环是否判断完成 (如果整个循环没有一次进入 调换 则表示全部判断完成)
                break                                 # 如果 本次循环没有调换位置 表示 本次循环 全部判断完成 结束 返回排序好的列表
        return arr                  # 返回 排序好的列表
    elif rev == "降序" or rev == "jx":                                # 跟升序反着换( 把最大值放到最前面 arr[0] )
        for i in range(len(arr)):                     # 循环 最大判断次数(列表的长度)
            is_stop = True                            # 用来接收 本次循环 是否有更换位置(是否全部更换以达到降序)
            for j in range(len(arr) - i - 1, 0, -1):  # 用来 取相邻的两个值  减 i(第一次从尾判断到头则已找到本次的最大值 则 从大找到小)减 1(下标是0开始)防止报错
                if arr[j] > arr[j - 1]:               # 比较后边一个是否比前边一个大 从 len(arr)-1 开始 取第一对 arr[j] > arr[j-1] = arr[0] > arr[0-1]
                    arr[j], arr[j - 1] = arr[j - 1], arr[j]  # 如果后一个比前一个大则进入 if 执行体 利用下标调用两个值 互换 位置
                    is_stop = False                   # 表示本次 有调换位(本次列表还没有全部判断完成)
            if is_stop:                               # 判断本次循环是否判断完成 (如果整个循环没有一次进入 调换 则表示全部判断完成)
                break                                 # 如果 本次循环没有调换位置 表示 本次循环 全部判断完成 结束 返回排序好的列表
        return arr                  # 返回 排序好的列表


# ====================================== 调用函数 ======================================

rev = input("输入排序方式:\n")       # 定义一个输入 rev 排序方式
arr = [6,3,6,8,2,5]                 # 定义一个 arr 列表
a = my_sort(arr,rev)                # 调用 my_sort 函数 并传入 arr 列表
print(a)

6. 定义一个函数,重写sum函数的功能

def my_sum(arr):    # 定义一个 my_sum() 函数 并要求传入一个 arr(要求元组 or 列表) 参数
    su = 0          # 用来接受 总和
    for i in arr:   # for 循环遍历 arr元组
        su += i     # 递加 arr元组里的值
    return su       # 返回 su 总和

# ====================================== 调用函数 ======================================

arr = (1,2,3)       # 定义了 arr 元组 
a = my_sum(arr)     # 调用 my_sum 函数 并把 arr 元组 传入
print(a)

7. 编写函数实现显示数组中所有数组元素的功能,可以传递多个数组

def all(*args):                 # 定义了 all 函数 以及使用 *args 语法 把传递的未知个数组 加进 一个数组里
    for i in args:              # 遍历 包含多个数组的数组 args
        print(f"数组{i}的元素:")
        for j in i:             # 遍历 数组里的每个 数组 参数
            print(j,end=" ")    # 每个数组的参数
        print()
    return args                 # 返回包含多个数组的数组

a = (1,2,3,4,5,6,7,8,9)         # 定义数组 a
b = ('a','b','c','d')           # 定义数组 b
c = (1,'a',2,'b',3,'c')         # 定义数组 c

# ====================================== 调用函数 ======================================

strMontage = ""                    # 用来实现 字符串拼接
for i in all(a,b,c):               # 可以实现多数组元素字符串拼接
    for j in i:
        strMontage += str(j)       # 字符串拼接
print("拼接好的字符串:\t",strMontage)

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值