• 【Python基础知识点总结】


    思维导图

    在这里插入图片描述

    基础数据类型

    • 布尔(bool) True False
    • 字符(str) ‘hello Python’
    • 整型(int) -1,5,88
    • 浮点(float) -2.3,4.1

    数据结构

    • 字典 {“position”:“中路”,“hero”:“诸葛亮”}
    • 列表 [“q”,“w”,“e”]
    • 元组 (“q”,“w”,“e”)
    • 集合 {“q”,“w”,“e”}

    列表与元组的不同:元组一旦成立,不可改变
    列表与集合的不同:集合不能存在重复元素,且不能存在可变类型 (可变类型:如列表、字典)

    基础语法

    • 关键字
    continue:跳过本次循环,往下执行   (适用于for循环、while循环)
    break:打破循环     (适用于for循环、while循环)
    
    • 1
    • 2
    • for循环
    for i in range(3):
    	print(i)
    >>0
    >>1
    >>2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • while循环
    a=0
    while a<3:
    	print(a)
    	a+=1
    >>0
    >>1
    >>2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • if 条件语句
    用法1:
    a=0
    if a>2:
    	print("a>2")
    else:
    	print("a<2")
    	
    用法2:
    b=6
    if b>1 and b<2:
    	print("C")
    elif b>2 and b<3:
    	print("B")
    else:
    	print("A")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 函数编程
    def myfunc():
    	return "ok"
    print(myfunc())
    
    • 1
    • 2
    • 3
    • 多文件编程:import
    index.py:
    def myfunc():
    	return "ok"
    
    main.py:
    import index
    print(index.myfunc())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    高级语法

    • for else : for循环正常执行完的情况下,执行else。若for循环体异常,则不执行else
    for i in range(3):
    	print(i)
    else:
    	print("ok")
    >>0
    >>1
    >>2
    >>ok
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 三元表达式
    for i in range(3):
    	print(i)
    等价于:
    [print(i) for i in range(3)]
    >>0
    >>1
    >>2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    简单编程题

    1、程序开始运行后,输入一个三位数整数; 程序会根据输入的整数输出百位、十位和个位上的数。例如,输入123,
       输出为:“百:1,十:2,个:3”。
    2、输入一个总秒数,计算是几小时几分钟几秒,并一行输出
    3、这里有四个数字,分别是:1、2、3、4。提问:能组成多少个互不相同且无重复数字的三位数?各是多少?
    4、输出第10个斐波那契数列
    5、99乘法表
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    def test1(number):
        number=str(number)
        print('百:',number[0],'十:',number[1],'个:',number[2])
    
    def test2(time):
        hour=time//3600
        minute=time%3600//60
        second=time%3600%60
        print('时:',hour,'分钟:',minute,'秒数:',second)
    
    def test3():
        a=[]
        for i in range(1,5):
            for k in range(1, 5):
                for n in range(1, 5):
                    if i != k and i!=n and k!=n:
                        print(i,k,n)
                        a.append(str(i)+str(k)+str(n))
    
    def test4():
        a=[0,1]
        for i in range(8):
            a.append(a[-1]+a[-2])
        print('第十个数是',a[-1])
    
    def test5():
        for i in range(1,10):
            for k in range(1,i+1):
                print(f"{k}*{i}={i*k}",end=' ')
            print(end='\n')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    工程项目类

    石头剪子布

    功能:
    石头剪子布游戏,人机对战

    编程思路:
    1、采用字典rule列出游戏规则:1代表石头,2代表剪刀,3代表布
    2、采用二维数组win表示玩家用户赢的可能
    3、如果用户的输入不是‘1’,‘2’,’3‘,则判定输入不符合规则
    4、由电脑随机生成数字代表电脑出拳
    5、如果user==computer,则平局;如果符合win,则玩家用户赢;除此之外便是电脑赢

    源代码

    import random
    import time
    
    rule={1:'石头',2:'剪刀',3:'布'}
    win=((1,2),(2,3),(3,1))
    while 1:
        user=input('请出拳(1:石头 2:剪刀 3:布):')
        
        if user not in ['1','2','3']:
            print('输入不正确')
            time.sleep(1)
            continue
            
        user=int(user)
        computer=random.randint(1,3)
        
        if user==computer:
            print(f'你出{rule[user]},电脑出{rule[computer]},平局')
        elif (user,computer) in win:
            print(f'你出{rule[user]},电脑出{rule[computer]},你贏了')
        else:
            print(f'你出{rule[user]},电脑出{rule[computer]},电脑赢了')
        if input('继续:Y 退出:除Y任意键') == 'Y':
            continue
        break
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    在这里插入图片描述

    扑克发牌

    功能:
    3人斗地主随机发牌系统。共54张扑克牌,每人17张基础牌,随机地主再发3张牌

    编程思路:
    1、枚举所有花色,除大王外所有牌值,运用三元表达式遍历得到52张牌,再添加大小王,凑齐54张牌,创建deal函数进行发牌.
    2、random.sample从puke中随机抽取17张牌添加到lis列表中.再将抽取到的17张牌从puke中移除.循环3次.最后puke中只剩下3张地主牌.
    3、此时lis中有三组牌,故索引为0,1,2.利用random.randint(0,2)随机生成一个数对应索引,将剩余的3张牌进行分配.故完成扑克发牌

    源代码

    import random
    
    color=['♠','♣','♥','♦']
    numbers=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
    
    puke=[i+k for i in color for k in numbers]
    puke.extend(['大王','小王'])
    
    def deal(puke:list):
        lis=list()
        for i in range(3):
            lis.append(random.sample(puke,17))
            for k in lis[i]:puke.remove(k)
        else:
            lis[random.randint(0,2)].extend(puke)
        return lis
        
    [print('player:'+str(i)) for i in deal(puke)]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

    学生成绩管理系统

    功能
    1、添加学生信息
    2、删除学生信息
    3、修改学生信息
    4、查询学生信息
    5、获取所有学生信息
    6、退出系统

    编程思路
    1、创建列表作为学生系统的总数据管理。定义字典来储存每一组学生。
    2、使用while循环不断问讯实现控制台交互
    3、使用1-6的选择模式进行相关系统操作,不同操作对应不同的类中函数
    4、所有操作都围绕列表、和字典进行实现

    stu_msg=[]
    
    while 1:
        print('''
        1、添加学生成绩
        2、删除学生成绩
        3、修改学生成绩
        4、查询学生成绩
        5、获取学生成绩
        6、退出
        ''')
        n=input("请输入你的选择:")
    
        if n=='1':
            stu_msg.append({"id":input('请输入要录入的学生学号:'), "name":input('姓名:'), "math":input('数学:'),"english": input('英语:'), "python":input('python:')})
        elif n=='2':
            id=input("你要删除的id:")
            for index in range(len(stu_msg)):
                if id == stu_msg[index]['id']:
                    del stu_msg[index]
                    print('删除成功')
                    break
            else:
                print("没有该学生")
        elif n == '3':
            id = input("你要修改的id:")
            for stu in stu_msg:
                if id == stu['id']:
                    print(stu)
                    stu.update({"name":input('姓名:'), "math":input('数学:'),"english": input('英语:'), "python":input('python:')})
                    print('修改成功')
                    break
            else:
                print("没有该学生")
        elif n == '4':
            id = input("你要查询的id:")
            for stu in stu_msg:
                if id == stu['id']:
                    print(stu)
    
                    break
            else:
                print("没有该学生")
        elif n == '5':
            for i in stu_msg:
                print(i)
        elif n == '6':
            break
        else:
            print('您输入有误,请重新输入')
            continue
    
    print('成功退出')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
  • 相关阅读:
    MySQL数据库和表的基本操作
    filebeat(8.9.0)采集日志到logstash,由logstash发送的es
    微信小程序自动推送当天天气情况Java版
    树结构处理,list和tree互转
    form表单的自定义校验规则
    Linux | 磁盘结构 | 文件系统认识 | inode | 软硬链接
    2023年Java毕业设计题目如何选题?Java毕业设计选题大全
    css列表
    Android - 无序广播动态注册广播
    ubuntu gcc版本降级 Reset gcc version from 11.3 to 11.2 on Ubuntu 22.04
  • 原文地址:https://blog.csdn.net/l782060902/article/details/125987816