《Python大数据应用基础》第五章思考与练习

本文介绍了Python编程中的一些关键概念。首先,通过一个函数展示了如何将摄氏度转换为华氏度。接着,定义了一个函数,该函数接收一个包含1-30整数的列表和一个整数n,将列表前n个和后n个元素分别反转。然后,定义了一个可变参数函数`min_n`用于找出一组数值中的最小值。最后,创建了一个返回列表最大值、最小值和元素个数的函数。所有这些函数都进行了实际调用并展示了结果。
摘要由CSDN通过智能技术生成
'''2、编写函数,将摄氏度转化成华氏度,公式:c*1.8+32,并调用该函数'''


def trans(c):
    h = c * 1.8 + 32
    print(c, '摄氏度转化为华氏度为', h, '华氏度')


c = float(input('请输入温度:'))
trans(c)
'''3、编写一个函数,该函数接收包含1-30的30个整数的列表lst,以及一个整数n作为参数,
返回一个新列表,新列表要求将列表lst中下标n之前的元素逆序,下标n之后的元素逆序。
并实现该函数的调用。'''

import random


def inverse():
    '''将列表转为字典,键为数,值为序号
       再判断序号是否小于n
       再排序'''
    d = dict(enumerate(lst))  # print(d.keys(),d.values())   此时key为0-29
    x = list(d.keys())  # 序号
    y = list(d.values())  # 值
    k = 0  # 用k来取列表的值
    fr = []  # 在n前面的
    be = []  # 在n后面的
    mid = []  # n
    for num in x:
        if num + 1 < n:
            fr.append(y[k])
            k += 1
        elif num + 1 > n:
            be.append(y[k])
            k += 1
        else:
            mid.append(y[k])
            k += 1
    # 下面进行排序
    fr.sort(reverse=True)
    be.sort(reverse=True)
    print('排序后:', fr)
    print('排序后:', be)
    print('最后结果为:', fr + mid + be)


lst = []
for item in range(30):
    i = random.randint(1, 30)
    lst.append(i)
print('原列表为:', lst)
n = int(input('请输入一个正整数(0-30):'))
inverse()

'''4、编写一个函数,利用可变参数定义一个任意数值最小值的函数min_n(a,b,*c)
   并实现该函数的调用'''


def min_n(a, b, *c):  # 求最小值
    if type(*c) == int:
        c = int(*c)
        if a <= b and a <= c:
            print(a)
        elif b <= a and b <= c:
            print(b)
        elif c <= a and c <= b:
            print(c)
    else:
        if a <= b:
            print(a)
        else:
            print(b)


print('最小值为', end='')
min_n(2, 3, [1, 3])

'''5、编写一个返回多值的函数(函数名称自拟),
   返回制定列表数据的最大值、最小值和元素个数,
   并实现该函数的调用'''


def fun(x):
    l = len(x)
    m = max(x)
    n = min(x)
    print('该列表的最大值为{0},最小值为{1},元素个数为{2}'.format(m, n, l))
    return m, n, l


s1 = [1, 2, 3, 4, 45, 8]
print('列表:', s1)
q = fun(s1)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值