案例描述:
假设高铁一节车厢的座位数有6行,每行5列。
每个作为初始显示"有票",用户输入座位位置(如:4,3)后
按回车,则该作为显示为 “已售”,使用到第三方模块 prettytable
import prettytable as pt
# 显示坐席
def show_ticket(row_num):
tb = pt.PrettyTable() # 创建一张表格
# 设置标题(表格的排头部分)
tb.filed_names = ['行号', '座位1', '座位2', '座位3', '座位4', '座位5']
# 遍历有票
for i in range(1, row_num + 1):
lst = [f'第{i}行', '有票', '有票', '有票', '有票', '有票']
tb.add_row(lst)
print(tb)
# 订票
def order_ticket(row_num, row, column):
tb = pt.PrettyTable() # 创建一张表格
tb.filed_names = ['行号', '座位1', '座位2', '座位3', '座位4', '座位5']
for i in range(1, row_num + 1):
if int(row) == i:
lst = [f'第{i}行', '有票', '有票', '有票', '有票', '有票']
lst[column] = '已售'
tb.add_row(lst)
else:
lst = [f'第{i}行', '有票', '有票', '有票', '有票', '有票']
tb.add_row(lst)
print(tb)
if __name__ == '__main__':
row_num = 6
show_ticket(row_num)
# 开始售票
choose_num = input('请输入您选择的坐席:如4,3表示第4排第3列:')
row, column = choose_num.split(',') # 系列解包赋值
order_ticket(row_num, row, int(column))
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap10\实战1-模拟高铁售票系统.py
+---------+---------+---------+---------+---------+---------+
| Field 1 | Field 2 | Field 3 | Field 4 | Field 5 | Field 6 |
+---------+---------+---------+---------+---------+---------+
| 第1行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第2行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第3行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第4行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第5行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第6行 | 有票 | 有票 | 有票 | 有票 | 有票 |
+---------+---------+---------+---------+---------+---------+
请输入您选择的坐席:如4,3表示第4排第3列:4,3
+---------+---------+---------+---------+---------+---------+
| Field 1 | Field 2 | Field 3 | Field 4 | Field 5 | Field 6 |
+---------+---------+---------+---------+---------+---------+
| 第1行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第2行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第3行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第4行 | 有票 | 有票 | 已售 | 有票 | 有票 |
| 第5行 | 有票 | 有票 | 有票 | 有票 | 有票 |
| 第6行 | 有票 | 有票 | 有票 | 有票 | 有票 |
+---------+---------+---------+---------+---------+---------+
案例描述:
编写一个程序,输入开始日期和间隔天数,可以推算出结束日期
使用内置的 datetime模块
import datetime
# 输入 日期的函数
def input_date():
inputdate=input('请输入开始日期:(20281001)后按回车:')
datestr=inputdate[0:4]+'-'+inputdate[4:6]+'-'+inputdate[6:] #字符串切片,切出 年,月,日
# 类型转换
dt= datetime.datetime.strptime(datestr,'%Y-%m-%d')
return dt
# 主程序运行
if __name__ == '__main__':
#print(input_date())
date=input_date()
in_num=eval(input('请输入间隔天数:'))
date=date+datetime.timedelta(days=in_num)
print('您推算的日期是:',date)
运行结果:
D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap10\实战2-推算几天后的日期.py
请输入开始日期:(20281001)后按回车:20281001
请输入间隔天数:15
您推算的日期是: 2028-10-16 00:00:00
案例描述:
使用 Python 第三方库 jieba 与 wordcloud 实现对华为笔记本评论的词云图
首先准备一个 .txt文件,里面的内容是对华为手机评价的一些内容,放你项目目录里
import jieba
from wordcloud import WordCloud
# 读取数据
with open('华为手机.txt','r',encoding='utf-8') as file:
s=file.read()
# 中文分词
lst=jieba.lcut(s)
# 排除词
stopword=['运行速度','屏幕效果','散热性能','外形外观','其他特色']
txt=''.join(lst)
# 绘制词云图
wordcloud=WordCloud(background_color='white',font_path='msyh.ttc',stopwords=stopword,
width=800,height=600)
# 由 txt文件生成 词云图
wordcloud.generate(txt)
# 保存图片
wordcloud.to_file('华为手机评价词云图.png')
运行结果: