返回顶部
首页 > 资讯 > 后端开发 > Python >Python经典基础案例有哪些
  • 281
分享到

Python经典基础案例有哪些

2023-06-25 13:06:39 281人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python经典基础案例有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.列表排序def que6():   

这篇文章主要介绍了python经典基础案例有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1.列表排序

def que6():    # 6.输入三个整数x, y, z,形成一个列表,请把这n个数由小到大输出。    # 程序分析:列表有sort方法,所以把他们组成列表即可。    li = np.random.randint(-100, 100, size=10)    # 就地转化    li = li.tolist()    # 用sort()结果    li_sort = sorted(li, reverse = False)    print('用sort方法,重新排列结果:{}'.fORMat(li_sort))    # 不用sort方法,自己写排序方法做,    # 冒泡排序    def bubbleSort(m):        m = m.copy()        for time in range(1, len(m)):            for index in range(len(m) - time):                if m[index] > m[index+1]:                    m[index], m[index+1] = m[index+1] , m[index]        return  m    # 选择排序    def selectSort(m):        m = m.copy()        for seat_L in range(len(m)-1):            for seat_R in range(seat_L+1, len(m)):                if m[seat_L] > m[seat_R]:                    m[seat_L], m[seat_R] = m[seat_R], m[seat_L]        return m    # 插入排序1(内部写成函数):    def insertSort_1(m):        result = []        # 单个元素k插入列表li        def to_insert(li, k):            # 标识符            tab = False            # 寻找插入位置            # 循环次数应该至少大于列表长度+1,None也占一位(空列表),即认为扑克牌最末尾还有一张‘空牌'            for i in range(len(li) + 1):                # 修改标识符,标志‘遍历完后的下一个循环',即在和‘空牌'比较                if i == (len(li)):                    tab = True                # 如果在对li[-1]比较完成(包含)之前,且寻找到位置,即把扑克从左往右比较一遍                if not tab and k < li[i]:                    li.insert(i, k)                    break            # 如果遍历完成,多循环一次,即和‘空牌'不需要比较,直接把牌替换掉‘空牌'            if tab:                li.append(k)            return li        # 遍历列表        # result = result[:1]        for length in range(len(m)):            result = to_insert(result, m[length])            # print(result,m[length])        return result    # 插入排序2(直接嵌套循环):    def insertSort2(m):        m = m.copy()        result = m[:1]        for index_choose in range(1, len(m)):            # 手上已经有index_choose张牌,比较第index_choose+1张牌则append            # 逐个比对手上的牌,如果都对比了一遍,则加到最后            for index_insert in range(len(result) + 1):                print(result, index_insert,'\n',m, index_choose,'\n\n')                if index_insert != index_choose and m[index_choose] < result[index_insert] :                    result.insert(index_insert, m[index_choose])                    break                if index_insert == index_choose:                    result.append(m[index_choose])            # print(result, m[index_choose])        return result    # print(li)    print('插入排序:',insertSort3(li))    print('选择排序:',selectSort(li))    print('冒泡排序:',bubbleSort(li))que6()

2.调换字典键值

# 1. 调换元素.\def que1():    d={1:"one",2:"two"}    # 方法1 --- 动态赋值    def method1(d):        d = d.copy()        result = {}        for k,v in d.items():            result[v] = k        return result    # 方法2 --- 生成器    def method2(d):        d = d.copy()        result = {v:k for k,v in d.items()}        return result    # 方法3 --- 由值寻找键    def method3(d):        d = d.copy()        # 由键寻找值        def match(dic, b):            return [k for k,v in dic.items() if v == b]        # 先生成key-None,再赋值        result = {}        result = result.fromkeys(d.values())        for k in result.keys():            result[k] = match(d, k)[0]        return result    # 方法4 --- 列表转字典 < 直接转换/动态赋值 >    def method4(d):        d = d.copy()        key = d.keys()        val = d.values()        data = list(zip(key, val))        # 方法4-1        result1 = {}        for i in range(len(data)):            result1[data[i][1]] = data[i][0]        # 方法4-2        result2 = dict(zip(val, key))        return result1, result2    print('新列表动态赋值方法:{}'.format(method1(d)))    print('生成器方法:{}'.format(method2(d)))    print('由键寻值方法:{}'.format(method3(d)))    print('动态赋值列表转字典方法:{}'.format(method4(d)[0]))    print('直接列表转字典方法:{}'.format(method4(d)[1]))# que1()

3.删除列表中的重复元素

遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程pdf电子书!

删除重复元素list =[1,2,5,4,1,5,6,8,0,2,5]

a = np.random.randint(-100, 100, size=10)a = a.tolist()def method1(a):    a = a.copy()    a = set(a)    return adef method2(a):    b = a.copy()    c = 0    for i in range(len(a)-1):        if b[i+c] in b[:i+c]+b[i+c+1:]:            b.pop(i+c)            c -= 1    return bprint('集合法:',method1(a))print('遍历法:',method2(a))

4.输出质数

def prime(end):    prime_list = []    if end <= 1:        print('必须大于1')    else:        # prime_list.append(2)        for i in range(2, end+1, 1):            count = 0            if i == 2:                if i%2 != 0:                    prime_list.append(2)            else:                for m in range(2, i):                    # 能够整除,则跳出循环                    if (i % m) == 0:                        # print(i, m)                        break                    # 否则计数+1                    else:                        count += 1                    # 判断是否整除完成(0/n)                    if count == i - 2:                        prime_list.append(i)                    print(count, i, m)    return (prime_list)num = int(input('想输出2到多少?'))print(prime(num))

5.判断是一年中第几天

def que3():    # 3.输入某年某月某日,判断这一天是这一年的第几天?:    # 闰年判断函数    def judge_leap(num):        date = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]        # (四年一闰 and not百年) or 四百年闰        if (num % 4 == 0 and num % 100 != 0) or num % 400 ==0:            date[1] =29        return date    # 格式转换    date = (input('请输入一个日期,格式如:“2018.02.12”:'))    date_list = (list(map(int, (date.split('.')))))    # 遍历计算天数    day = date_list[2]    for i in range(date_list[1]):        day += judge_leap(date_list[0])[i]    print('{}月{}日是{}年的第{}天\n'.format(date_list[1], date_list[2], date_list[0], day))# que3()

6.猜数字

# 重新猜数字import randomdef judge_num(num, num_random):    if num > num_random:        print('It\'s too big')        return 1    elif num < num_random:        print('It\'s too small')        return 1    else:        print("Congratulation!! That\' right!")        return 0# 产生随机数num_start = int(input('Digital lower limit of guess number:\n'))num_end = int(input('Digital upper limit of guess number:\n'))num_random = random.randint(num_start, num_end)# 参数初始化result = 1      # 判断结果i = 0           # 循环次数frequency = 3   # 循环限制次数# 提示总猜测次数、剩余次数print('WARNING: You have【{}】 chances you guess '.format(frequency), end = '--&&>>--')print('【{}】 chances left now:\n'.format(frequency - i +1))while result and i != frequency:    # 猜数字    num = int(input('Please guess a int_number:\n'))    result = judge_num(num, num_random)    i += 1

7.进制转换

# 任意进制转十进制def other_to_decimal(hex, num):    # 整型转化为列表,    num_str = str(num)    # map()将List对象中的元素(list类型)转化为集合(set)类型    num_list = list(map(int, num_str))    # 列表反序    num_list = num_list[::-1]    print(list(map(int, num_str)))    # 获取数字位数    digit = len(num_list)    num_decimal = 0    # 累加    for i in range(digit):        numi = num_list[i]        # print(numi, hex**i)        num_decimal += numi*(hex**i)   # 对每一位数的幂指数累加    return num_decimal# 十进制转任意进制def decimal_to_other(hex, num):    # 获取数字位数    digit = len(str(num))    num_hex = []    quotient = 1    # 相除,余数计入列表num_hex    while quotient:        # 取余和取商        quotient = num // hex        remainder = num % hex        # print(quotient, remainder)        # 余数计入列表        num_hex.append(remainder)        # 商做下一次循环        num = quotient    # 列表反序,通过切片和sort()函数可以实现    num_hex = num_hex[::-1]    # num_hex.sort(reverse=True)    # 如果超过十进制,用ASCII码转化为字母    for i in range(len(num_hex)):        if num_hex[i] > 9:            num_hex[i] = chr(int(num_hex[i])+87)    # print(num_hex)    # 列表转化为字符串    result = (''.join('%s' %m for m in num_hex))    return resultType = bool(input("十进制转任意进制请输入1,任意进制转十进制请输入0\n"))if Type:    hex = int(input("需要把十进制转换为多少进制?请输入正整数\n"))    num = int(input("需要转换的数字是:"))    print("换算结果是:", decimal_to_other(hex, num))else:    hex = int(input("需要把多少进制转换为十进制?请输入正整数\n年"))    num = int(input("需要转换的数字是:"))    print("换算结果是:", other_to_decimal(hex, num))

感谢你能够认真阅读完这篇文章,希望小编分享的“Python经典基础案例有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网Python频道,更多相关知识等着你来学习!

--结束END--

本文标题: Python经典基础案例有哪些

本文链接: https://lsjlt.com/news/304995.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python经典基础案例有哪些
    这篇文章主要介绍了Python经典基础案例有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.列表排序def que6():   ...
    99+
    2023-06-25
  • 7个关于Python的经典基础案例
    目录1.列表排序2.调换字典键值3.删除列表中的重复元素4.输出质数5.判断是一年中第几天6.猜数字7.进制转换1.列表排序 def que6(): # 6.输入三个整数...
    99+
    2024-04-02
  • JavaScript中有哪些递归经典案例题
    这篇文章主要为大家展示了“JavaScript中有哪些递归经典案例题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中有哪些递归经典案例题”这篇文章吧。什么是递归,它是如何工作...
    99+
    2023-06-20
  • Python经典面试题和答案有哪些
    这篇文章主要介绍了Python经典面试题和答案有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python经典面试题和答案有哪些文章都会有所收获,下面我们一起来看看吧。  ...
    99+
    2024-04-02
  • python字典的基础知识点有哪些
    这篇文章主要介绍“python字典的基础知识点有哪些”,在日常操作中,相信很多人在python字典的基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python字典的基础知识点有哪些”的疑惑有所...
    99+
    2023-06-22
  • Python入门经典案例一
    # 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1 sum = 0 2 values = range(1, 5) 3 for i in values: 4 for j in values: 5 ...
    99+
    2023-01-30
    入门 案例 经典
  • Python经典面试题有哪些
    这篇文章主要讲解了“Python经典面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python经典面试题有哪些”吧!Python面试题(一)之交换变量值平时时不时会面面实习生,大...
    99+
    2023-06-02
  • JAVA入门经典实例有哪些
    小编给大家分享一下JAVA入门经典实例有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)...
    99+
    2023-05-30
    java
  • 总结10个Python经典案例
    本篇内容主要讲解“总结10个Python经典案例”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“总结10个Python经典案例”吧!1.NLP自然语言分析情感分析情感分析是各个领域中最流行的Pyt...
    99+
    2023-06-15
  • MySQL基础篇(01):经典实用查询案例,总结整理
    本文源码:GitHub·点这里 || GitEE·点这里 一、连接查询 图解示意图 1、建表语句 部门和员工关系表: CREATE TABLE `tb_dept` ( `id` int(11) NOT NULL AUTO_INCR...
    99+
    2022-04-06
    MySQL基础篇(01):经典实用查询案例,总结整理
  • Redis经典面试题及答案有哪些
    这篇文章主要讲解了“Redis经典面试题及答案有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis经典面试题及答案有哪些”吧! ...
    99+
    2023-03-09
    redis
  • Python经典面试问答题有哪些
    本文小编为大家详细介绍“Python经典面试问答题有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python经典面试问答题有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • Python经典的使用技巧有哪些
    这篇文章主要介绍了Python经典的使用技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python经典的使用技巧有哪些文章都会有所收获,下面我们一起来看看吧。如何测量程序的执行时间关于 Python ...
    99+
    2023-06-29
  • JavaScript函数调用经典实例有哪些
    本篇内容介绍了“JavaScript函数调用经典实例有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JavaScript函数调用经典例题...
    99+
    2023-06-25
  • 经典CSS框架有哪些
    这篇文章主要介绍了经典CSS框架有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 960gs960 像素的页面宽度似乎成为了一种设计...
    99+
    2024-04-02
  • Python基础案例分享
    本篇内容介绍了“Python基础案例分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、超市买薯片# 用户输入薯片的单价danj...
    99+
    2023-06-02
  • python基础命令有哪些
    这篇文章主要讲解了“python基础命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python基础命令有哪些”吧!常见的占位符有:%d整数%f浮点...
    99+
    2024-04-02
  • Python基础术语有哪些
    本篇内容介绍了“Python基础术语有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.必须知道的两组Python基础术语A.变量和赋值...
    99+
    2023-06-16
  • 有哪些Python基础知识
    这篇文章主要介绍“有哪些Python基础知识”,在日常操作中,相信很多人在有哪些Python基础知识问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些Python基础知识”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-25
  • Python基础函数有哪些
    本篇内容介绍了“Python基础函数有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、标准函数 def你可以定义一个由自己想要功能的函...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作