【Python基础知识点总结】

简介: 【Python基础知识点总结】

思维导图

1684144409164.jpg


基础数据类型


布尔(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循环)


for循环

for i in range(3):
  print(i)
>>0
>>1
>>2


while循环

a=0
while a<3:
  print(a)
  a+=1
>>0
>>1
>>2


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")


函数编程

def myfunc():
  return "ok"
print(myfunc())


多文件编程:import

index.py:
def myfunc():
  return "ok"
main.py:
import index
print(index.myfunc())


高级语法


for else : for循环正常执行完的情况下,执行else。若for循环体异常,则不执行else

for i in range(3):
  print(i)
else:
  print("ok")
>>0
>>1
>>2
>>ok


三元表达式

for i in range(3):
  print(i)
等价于:
[print(i) for i in range(3)]
>>0
>>1
>>2


简单编程题


1、程序开始运行后,输入一个三位数整数; 程序会根据输入的整数输出百位、十位和个位上的数。例如,输入123,

  输出为:“百:1,十:2,个:3”。

2、输入一个总秒数,计算是几小时几分钟几秒,并一行输出

3、这里有四个数字,分别是:1、2、3、4。提问:能组成多少个互不相同且无重复数字的三位数?各是多少?

4、输出第10个斐波那契数列

5、99乘法表

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、采用字典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


1684144576106.jpg


扑克发牌


功能:

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)]

1684144638117.jpg


学生成绩管理系统


功能

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('成功退出')
相关文章
|
2月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
|
4月前
|
Python
python知识点
【8月更文挑战第27天】python知识点
3405 2
WK
|
4月前
|
存储 机器学习/深度学习 JSON
Python入门知识点
Python入门覆盖历史、设计理念、变量、数据类型、控制结构等。了解Python的发展,掌握动态类型的灵活性,熟悉整数、浮点数、字符串等数据类型。学会if/else、for/while循环构建逻辑流程,使用def定义函数,lambda快速创建匿名函数。通过类实现面向对象编程,利用模块和包组织代码。掌握try-except处理异常,open()进行文件操作。利用标准库和第三方库增强功能,理解集合、字典、列表推导式的应用,深入魔法方法、递归、装饰器等高级特性,以及上下文管理器和字符串、列表、元组的操作技巧。
WK
41 0
|
1月前
|
缓存 Java 索引
[Python]知识点
本文主要介绍了Python的一些高级知识点和使用细节,包括pip的使用、内置函数、列表、元组、字典、集合、变量、Lambda表达式、面向对象编程、异常处理、模块及标准库等。文章适合有一定Python基础的读者,重点在于深入理解和掌握Python的高级特性。文中还提供了大量示例代码,帮助读者更好地理解和应用这些知识点。
36 1
[Python]知识点
|
2月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
2月前
|
网络协议 数据库连接 Python
python知识点100篇系列(17)-替换requests的python库httpx
【10月更文挑战第4天】Requests 是基于 Python 开发的 HTTP 库,使用简单,功能强大。然而,随着 Python 3.6 的发布,出现了 Requests 的替代品 —— httpx。httpx 继承了 Requests 的所有特性,并增加了对异步请求的支持,支持 HTTP/1.1 和 HTTP/2,能够发送同步和异步请求,适用于 WSGI 和 ASGI 应用。安装使用 httpx 需要 Python 3.6 及以上版本,异步请求则需要 Python 3.8 及以上。httpx 提供了 Client 和 AsyncClient,分别用于优化同步和异步请求的性能。
python知识点100篇系列(17)-替换requests的python库httpx
|
2月前
|
调度 Python
python知识点100篇系列(20)-python协程与异步编程asyncio
【10月更文挑战第8天】协程(Coroutine)是一种用户态内的上下文切换技术,通过单线程实现代码块间的切换执行。Python中实现协程的方法包括yield、asyncio模块及async/await关键字。其中,async/await结合asyncio模块可更便捷地编写和管理协程,支持异步IO操作,提高程序并发性能。协程函数、协程对象、Task对象等是其核心概念。
|
2月前
|
Python Windows
python知识点100篇系列(24)- 简单强大的日志记录器loguru
【10月更文挑战第11天】Loguru 是一个功能强大的日志记录库,支持日志滚动、压缩、定时删除、高亮和告警等功能。安装简单,使用方便,可通过 `pip install loguru` 快速安装。支持将日志输出到终端或文件,并提供丰富的配置选项,如按时间或大小滚动日志、压缩日志文件等。还支持与邮件通知模块结合,实现邮件告警功能。
python知识点100篇系列(24)- 简单强大的日志记录器loguru
|
2月前
|
自然语言处理 Python Windows
python知识点100篇系列(23)- 使用stylecloud生成词云
【10月更文挑战第10天】`stylecloud` 是 `wordcloud` 的优化版,支持使用 Font Awesome 图标自定义词云形状,操作更简便。本文介绍如何安装 `jieba` 和 `stylecloud` 库,并使用它们生成中文词云。通过 `jieba` 进行分词,再利用 `stylecloud` 的 `gen_stylecloud` 方法生成具有特定形状和颜色的词云图像。
python知识点100篇系列(23)- 使用stylecloud生成词云
|
2月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。