【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循环)
  • 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

在这里插入图片描述

扑克发牌

功能:
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、退出系统

编程思路
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('成功退出')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会振刀的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值