影刀高级-Python基础
一、课程介绍
从python.org安装了python3.14.6,从官网安装了vs code并配置了python环境。
二、python初识
1.源代码
年龄=18 print(年龄) 半径=20 print(3.14*半径*半径) age=18 print(age) Age=20 print(Age) 午餐=20 晚餐=22 一周餐费=(午餐+晚餐)*7 print(一周餐费) 月生活费=2000 日生活费=月生活费/30 print(日生活费) 日生活费=月生活费//30 print(日生活费) 日生活费=int(月生活费/30) print(日生活费) 日生活费=round(月生活费/30,2) print(日生活费) 日生活费=round(月生活费/30) print(日生活费) 月生活费=2100 日生活费=月生活费/30 print(日生活费) print(type(月生活费)) print(type(日生活费)) print(int(月生活费)) print(float(日生活费)) print(3**3)
2.运行结果
18 1256.0 18 20 294 66.66666666666667 66 66 66.67 67 70.0 <class 'int'> <class 'float'> 2100 70.0 27
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_1.py
三、字符串
1.源代码
打招呼="打招呼"
print(打招呼)
打招呼=int("9527")+1
print(打招呼)
打招呼="对对对\n对对对的跳跃体育\t任天宇任天宇天涯点点滴滴"
print(打招呼)
打招呼="""对对对\n对对对的跳跃体育\t任天宇任
无所不能
天宇天涯点点滴滴"""
print(打招呼)
大明星=input("尊姓大名:")
无所不能=input("能干啥:")
print(大明星+","+无所不能)
姓名=input("请输入姓名:")
年龄=input("请输入年龄:")
出生年份=2026-int(年龄)
print(f"你好,我叫{姓名},今年{年龄}岁,出生于{出生年份}年")
2.运行结果
打招呼 9528 对对对 对对对的跳跃体育 任天宇任天宇天涯点点滴滴 对对对 对对对的跳跃体育 任天宇任 无所不能 天宇天涯点点滴滴 尊姓大名:啊啊啊 能干啥:不不不 啊啊啊,不不不 请输入姓名:大大大 请输入年龄:33 你好,我叫大大大,今年33岁,出生于1993年
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_2.py
四、条件判断
1.源代码
炒饭=5
水饺=4
print(炒饭>水饺)
print(not 炒饭!=水饺)
print(炒饭>水饺 and 炒饭<水饺)
if 炒饭>水饺:
print("炒饭贵")
else:
print("水饺贵")
点餐 = input("请问,你想吃点什么?A:炒饭 B:水饺").upper().strip()
if 点餐=="A":
print(f"炒饭的价格是{炒饭}元")
elif 点餐=="B":
print(f"水饺的价格是{水饺}元")
else:
print("暂无此餐品")
2.运行结果
True False False 炒饭贵 请问,你想吃点什么?A:炒饭 B:水饺a 炒饭的价格是5元
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_3.py
五、列表
1.源代码
菜单 =["炒饭","水饺","牛肉面","鸡腿"]
print(菜单[-1])
print(菜单[1:3])
print(菜单[:3])
print(菜单[1:])
打招呼="垃圾袋啊,法拉第,就发了啊,世界发达啊"
print(len(打招呼))
print(打招呼[1:7])
print(list(打招呼))
print(打招呼.split(","))
print("-".join(菜单))
菜单.append("熏鸡")
print(菜单)
菜单.extend(["烤羊腿","烤羊肉串"])
print(菜单)
菜单2=["大白菜","鸡蛋","茶叶","茶叶","茶叶","茶叶","茶叶","茶叶","茶叶","茶叶"]
print(菜单+菜单2)
菜单.insert(1,"炒花蛤")
print(菜单)
菜单.insert(2,["炒花蛤","炒龙虾尾"])
print(菜单)
print(菜单[2][0])
菜单.remove("炒饭")
print(菜单)
被删除的元素=菜单.pop()
print(被删除的元素)
被删除的元素=菜单.pop(2)
print(被删除的元素)
# 菜单.clear()
# print(菜单)
if '烤羊腿' in 菜单:
print("烤羊腿在菜单中")
if '烤叶鱼' not in 菜单:
print("不在菜单中")
print(菜单.index("熏鸡"))
print(打招呼.index("啊",-1))
print(打招呼.find("啊",-1))
菜单2.sort()
print(菜单2)
print(sorted(菜单2,reverse=True))
print(菜单2)
菜单2.reverse()
print(菜单2)
print(菜单2.count("茶叶"))
数字列表=[12,33,54,67,87,99]
print(max(数字列表))
print(min(数字列表))
print(sum(数字列表))
my_list = [5, 3, 8, 6, 1, 9]
my_list.sort()
my_list.append(7)
my_list.reverse()
print("这里:")
print(my_list)
菜单系统 =["炒饭",50,"水饺",45,"牛肉面",36,"鸡腿",100]
操作 = input("请输入操作指令,A:查询 B:添加C:删除 D:修改 E:退出")
if 操作 =="A":
餐品 = input("请输入要查询的餐品:")
if 餐品 in 菜单系统:
索引=菜单系统.index(餐品)+1
print(f"{餐品}的价格为{菜单系统[索引]}")
else:print("暂不提供此餐品")
elif 操作 =="B":
餐品 = input("请输入要添加的餐品及价格(中间用横杠隔开):")
菜单系统.append(餐品.split("-")[0])
菜单系统.append(int(餐品.split("-")[1]))
print("添加成功")
print(菜单系统)
elif 操作 =="C":
餐品 = input("请输入要删除的餐品:")
if 餐品 in 菜单系统:
索引=菜单系统.index(餐品)
删除的餐品 =菜单系统.pop(索引)
菜单系统.pop(索引)
print(f"餐品{删除的餐品}删除成功")
else:
print("暂不提供此餐品")
elif 操作 =="D":
餐品 = input("请输入要修改的餐品:")
价格 = input("请输入要修改的价格:")
if 餐品 in 菜单系统:
索引=菜单系统.index(餐品)+1
菜单系统[索引]=int(价格)
print("修改成功")
print(菜单系统)
else:
print("暂不提供此餐品")
elif 操作 =="E":
print("退出系统")
else:
print("无效操作,请重试")
2.运行结果
鸡腿 ['水饺', '牛肉面'] ['炒饭', '水饺', '牛肉面'] ['水饺', '牛肉面', '鸡腿'] 19 圾袋啊,法拉 ['垃', '圾', '袋', '啊', ',', '法', '拉', '第', ',', '就', '发', '了', '啊', ',', '世', '界', '发', '达', '啊'] ['垃圾袋啊', '法拉第', '就发了啊', '世界发达啊'] 炒饭-水饺-牛肉面-鸡腿 ['炒饭', '水饺', '牛肉面', '鸡腿', '熏鸡'] ['炒饭', '水饺', '牛肉面', '鸡腿', '熏鸡', '烤羊腿', '烤羊肉串'] ['炒饭', '水饺', '牛肉面', '鸡腿', '熏鸡', '烤羊腿', '烤羊肉串', '大白菜', '鸡蛋', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶'] ['炒饭', '炒花蛤', '水饺', '牛肉面', '鸡腿', '熏鸡', '烤羊腿', '烤羊肉串'] ['炒饭', '炒花蛤', ['炒花蛤', '炒龙虾尾'], '水饺', '牛肉面', '鸡腿', '熏鸡', '烤羊腿', '烤羊肉串'] 炒花蛤 ['炒花蛤', ['炒花蛤', '炒龙虾尾'], '水饺', '牛肉面', '鸡腿', '熏鸡', '烤羊腿', '烤羊肉串'] 烤羊肉串 水饺 烤羊腿在菜单中 不在菜单中 4 18 18 ['大白菜', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '鸡蛋'] ['鸡蛋', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '大白菜'] ['大白菜', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '鸡蛋'] ['鸡蛋', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '茶叶', '大白菜'] 8 99 12 352 这里: [7, 9, 8, 6, 5, 3, 1] 请输入操作指令,A:查询 B:添加C:删除 D:修改 E:退出D 请输入要修改的餐品:牛肉面 请输入要修改的价格:222 修改成功 ['炒饭', 50, '水饺', 45, '牛肉面', 222, '鸡腿', 100]
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_4.py
六、循环
1.源代码
菜单 =["炒饭","水饺","牛肉面","鸡腿"]
for 餐品 in 菜单:
if 餐品=="牛肉面":
continue
print(餐品)
打招呼="垃圾袋啊,法拉第,就发了啊,世界发达啊"
for 文字 in 打招呼:
print(文字)
饮料=["可乐","雪碧","芬达"]
组合数量=0
for 餐品 in 菜单:
for 饮品 in 饮料:
print(f"{餐品}搭配{饮品}")
组合数量=组合数量+1
print(f"一共有{组合数量}种组合")
数列=[1,-2,3,-4,5]
正数=[]
负数=[]
for 数 in 数列:
if 数>0:
正数.append(数)
elif 数<0:
负数.append(数)
print(正数)
print(负数)
for x in range(5,12,2):
print(x)
正确密码="9527"
for 次数 in range(5):
密码 = input("请输入密码:")
if 密码 == 正确密码:
print("验证通过")
break
elif 密码!=正确密码 and 次数<4:
print("密码错误")
print(f"剩余{4-次数}次机会")
else:
print("账户已锁定")
while True:
x= input("请输入一个数字:")
if x =="下机":
print("下机成功")
break
else:
print(x)
索引=0
while 索引< len(菜单):
print(莱单[索引])
索引 +=1
2.运行结果
炒饭 水饺 鸡腿 垃 圾 袋 啊 , 法 拉 第 , 就 发 了 啊 , 世 界 发 达 啊 炒饭搭配可乐 炒饭搭配雪碧 炒饭搭配芬达 水饺搭配可乐 水饺搭配雪碧 水饺搭配芬达 牛肉面搭配可乐 牛肉面搭配雪碧 牛肉面搭配芬达 鸡腿搭配可乐 鸡腿搭配雪碧 鸡腿搭配芬达 一共有12种组合 [1, 3, 5] [-2, -4] 5 7 9 11 请输入密码:11 密码错误 剩余4次机会 请输入密码:9527 验证通过 请输入一个数字:11 11 请输入一个数字:下机 下机成功 炒饭 水饺 牛肉面 鸡腿
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_5.py
七、函数
1.源代码
def 打招呼():
print("垃圾袋啊,法拉第,就发了啊,世界发达啊")
打招呼()
折扣 = 0.9
def 总金额(餐品总额,小费=200):
return 餐品总额*折扣+小费
print(f"本次消费总金额:{总金额(餐品总额 =100,小费=900)}")
def 除法(x, y):
商 = x // y
余数 = x % y
return 商, 余数
print(除法(10, 3)[0])
print(除法(10, 3)[1])
2.运行结果
垃圾袋啊,法拉第,就发了啊,世界发达啊 本次消费总金额:990.0 3 1
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_6.py
4.Tips
简单到不想写实例,有些呼之欲出。很烦,很难专注。发现qoder新大陆,自动给修复,上下文联想,nice。
return 商, 余数 返回一个字典。
八、字典
1.源代码
店铺 ={"地区":"杭州","面积":300,"评分":5}
print(店铺.get("招牌", "未查询到"))
if "地区"in 店铺:
print(f"地区:{店铺['地区']}")
else:
print("未查询到")
for k in 店铺.keys():
print(k, 店铺[k])
print("==============")
for v in 店铺.values():
print(v)
print("==============")
for k, v in 店铺.items():
print(k, v)
print("==============")
for i in 店铺.items():
print(i)
print("==============")
店铺.popitem()
print(店铺)
店铺.clear()
print(店铺)
2.运行结果
未查询到
地区:杭州
地区 杭州
面积 300
评分 5
==============
杭州
300
5
==============
地区 杭州
面积 300
评分 5
==============
('地区', '杭州')
('面积', 300)
('评分', 5)
==============
{'地区': '杭州', '面积': 300}
{}
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_7.py
4.Tips
fo r k in 店铺.keys() 用法
popitem()
.get(,"没有时输出信息")
九、模块
1.源代码
主程序:
import demo as hanshu
hanshu.打招呼("张三")
from demo import 打招呼
打招呼("毛毛毛")
from demo import *
打招呼("炸单位")
import random
数列=[1,2,3,4,5,6,7,8,9,10]
random.shuffle(数列) #洗牌
print(数列)
print(random.choice(数列)) #随机选择一个数
print(random.sample(数列, 3)) #随机选择三个数
print(random.randint(20, 50))
print(random.uniform(20, 50))
print(random.random())
import openai
openai.api_key='sk-0c89yec5knGl5p8z6LwdT3BLbkFIniKWnTN13IYTZA9RZa8'
def chat(prompt):
response = openai.chatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role":"user","content": prompt}]
)
return response['choices'][0]['message']['content']
result = chat(input("Enter a prompt:"))
print(result)
demo.py:
def 打招呼(姓名):
print(f"你大爷,{姓名}!欢迎来逛淘宝!")
2.运行结果
你大爷,张三!欢迎来逛淘宝!
你大爷,毛毛毛!欢迎来逛淘宝!
你大爷,炸单位!欢迎来逛淘宝!
[3, 1, 4, 2, 7, 5, 8, 6, 10, 9]
3
[9, 4, 5]
40
39.013434635242334
0.19919450009907902
Enter a prompt:啊啊
Traceback (most recent call last):
File "c:\Users\Administrator\Desktop\影刀\影刀高级-python基础\3_3_8.py", line 45, in <module>
result = chat(input("Enter a prompt:"))
File "c:\Users\Administrator\Desktop\影刀\影刀高级-python基础\3_3_8.py", line 39, in chat
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role":"user","content": prompt}]
)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python314\Lib\site-packages\openai\lib\_old_api.py", line 39, in __call__
raise APIRemovedInV1(symbol=self._symbol)
openai.lib._old_api.APIRemovedInV1:
You tried to access openai.ChatCompletion, but this is no longer supported in openai>=1.0.0 - see the README at https://github.com/openai/openai-python for the API.
You can run `openai migrate` to automatically upgrade your codebase to use the 1.0.0 interface.
Alternatively, you can pin your installation to the old version, e.g. `pip install openai==0.28`
A detailed migration guide is available here: https://github.com/openai/openai-python/discussions/742
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_8.py
https://www.xinyizhishu.top/yingdaoC/demo.py
4.Tips
pip install openai 居然成功了
Successfully installed annotated-types-0.8.0 anyio-4.14.2 certifi-2026.7.22 colorama-0.4.6 distro-1.9.0 h11-0.16.0 httpcore-1.0.9 httpx-0.28.1 idna-3.18 jiter-0.16.0 openai-2.48.0 pydantic-2.13.4 pydantic-core-2.46.4 sniffio-1.3.1 tqdm-4.69.1 typing-extensions-4.16.0 typing-inspection-0.4.2
版本不管了。
十、类
1.源代码
class 饮料:
甜度 =7
温度 ='常温'
def __init__(self,名称,杯型):
self.名称 = 名称
self.杯型 = 杯型
def 加糖(self):
self.甜度 += 1
def 加冰(self,类型):
self.温度 =类型
def 介绍(self):
print(f"您点了一杯{self.温度}的{self.杯型}{self.名称},甜度为{self.甜度}。")
饮品 =饮料('可乐','中杯')
饮品.名称 ='可乐'
print(饮品.甜度)
print(饮品.温度)
print(饮品.名称)
点单 = input("请问,您要喝什么饮料?请输入名称和杯型(中间用横杠隔开):")
饮品 = 饮料(点单.split("-")[0],点单.split("-")[1])
while True:
饮品.介绍()
确认 = input("请问您还有别的需求吗?Y:是 N:否")
if 确认 =="N":
print("好的,您的饮品马上就来")
break
else:
操作 = input("请问您要加糖还是加冰?A:加糖 B:加冰")
if 操作 =="A":
饮品.加糖()
else:
冰量 = input("请问您要加多少冰?A:去冰 B:少冰 C:多冰 ")
饮品.加冰({"A":"去冰","B":"少冰","C":"多冰"}[冰量])
2.运行结果
7 常温 可乐 请问,您要喝什么饮料?请输入名称和杯型(中间用横杠隔开):珍珠奶茶-大杯 您点了一杯常温的大杯珍珠奶茶,甜度为7。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰A 您点了一杯常温的大杯珍珠奶茶,甜度为8。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰A 您点了一杯常温的大杯珍珠奶茶,甜度为9。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰10 请问您要加多少冰?A:去冰 B:少冰 C:多冰 A 您点了一杯去冰的大杯珍珠奶茶,甜度为9。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰A 您点了一杯去冰的大杯珍珠奶茶,甜度为10。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰A 您点了一杯去冰的大杯珍珠奶茶,甜度为11。 请问您还有别的需求吗?Y:是 N:否N 好的,您的饮品马上就来
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_9.py
4.Tips
def __init__(self,名称,杯型)
self.名称=名称
self.杯型=杯型
十一、异常处理
1.源代码
from argparse import ZERO_OR_MORE
from weakref import KeyedRef
try:
a = input("请输入一个数字:")
if not a.isdigit():
raise ValueError("您输入的不是数字")
b = int(a)
result = 100 / b
print(result)
except ValueError as e:
print(f"程序出错了,错误原因为:{e}")
except ZeroDivisionError as e:
print("除数不能为0")
except:
print(f"程序出错了,错误原因为:{e}")
else:
print(f"结果为{result}")
finally:
print("程序结束")
class 饮料:
甜度 =7
温度 ='常温'
def __init__(self,名称,杯型):
self.名称 = 名称
self.杯型 = 杯型
def 加糖(self):
self.甜度 += 1
def 加冰(self,类型):
self.温度 =类型
def 介绍(self):
print(f"您点了一杯{self.温度}的{self.杯型}{self.名称},甜度为{self.甜度}。")
饮品 =饮料('可乐','中杯')
饮品.名称 ='可乐'
print(饮品.甜度)
print(饮品.温度)
print(饮品.名称)
try:
点单 = input("请问,您要喝什么饮料?请输入名称和杯型(中间用横杠隔开):")
if not 点单:
raise ValueError("点单内容不能为空")
饮品 = 饮料(点单.split("-")[0],点单.split("-")[1])
except ValueError as e:
print(e)
else:
while True:
饮品.介绍()
确认 = input("请问您还有别的需求吗?Y:是 N:否")
if 确认 =="N":
print("好的,您的饮品马上就来")
break
else:
操作 = input("请问您要加糖还是加冰?A:加糖 B:加冰")
if 操作 =="A":
饮品.加糖()
else:
冰量 = input("请问您要加多少冰?A:去冰 B:少冰 C:多冰 ")
try:
饮品.加冰({"A":"去冰","B":"少冰","C":"多冰"}[冰量])
except KeyError:
print("选项有误,请重新输入")
finally:
print("欢迎下次光临")
2.运行结果
请输入一个数字:4 25.0 结果为25.0 程序结束 7 常温 可乐 请问,您要喝什么饮料?请输入名称和杯型(中间用横杠隔开):奶茶-中杯 您点了一杯常温的中杯奶茶,甜度为7。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰Q 请问您要加多少冰?A:去冰 B:少冰 C:多冰 W 选项有误,请重新输入 您点了一杯常温的中杯奶茶,甜度为7。 请问您还有别的需求吗?Y:是 N:否Y 请问您要加糖还是加冰?A:加糖 B:加冰B 请问您要加多少冰?A:去冰 B:少冰 C:多冰 R 选项有误,请重新输入 您点了一杯常温的中杯奶茶,甜度为7。 请问您还有别的需求吗?Y:是 N:否
3.python文件
https://www.xinyizhishu.top/yingdaoC/3_3_10.py
4.Tips
raise
try except
ValueError()