【python入门】day27: 模拟高铁售票系统

界面

在这里插入图片描述

代码

#-*- coding:utf-8 -*-
import prettytable as pt#---------导入漂亮表格
import os.path
filename = 'ticket.txt'

#更新座位状态
def update(row_num):#------更新购票状态
    with open(filename,'w',encoding='utf-8') as wfile:
        for i in range(row_num):
            lst1 = [f'{
     i+1}','有票','有票','有票','有票','有票']
            wfile.write(str(lst1)+'\n')

#显示座席
def show_ticket():
    with open(filename,'r',encoding='utf-8') as rfile:
        lst = rfile.readlines()
        tb = pt.PrettyTable()
        tb.field_names = ['行号','座位1','座位2','座位3','座位4','座位5'] #表格的标题,行的title
        for i in lst:
            tb.add_row(eval(i))#--------从文件中读取的每一行字符串转换成列表加进tb中
        print(tb)

#订票
def order_ticket(row,column):
    with open(filename,'r',encoding='utf-8') as rfile:#----读取文件
        lst = rfile.readlines()
        # print(lst)
    with open(filename,'w',encoding='utf-8') as wfile:#-----重写文件
        for item in lst:
            item=eval(item)#--------从文件中读取的每一行字符串转换成列表
            # print(item[0])
            if item[0] == row:
                item[int(column)] = '已售'#-----------改写第row行第col列为'已售'
                print(item)
                wfile.write(str(item)+'\n')#---------把改写后的的对象保存到文件中
            else:
                wfile.write(str(item)+'\n')#---------如果没改变,把读取的对象保存到文件中
if __name__ == '__main__':
    row_num = 13#---------全部13行
    update(row_num) # ---调用更新函数,传入参数
    show_ticket() # ---调用显示函数
    while True:
        choose_num = input('请输入选择的座位,如13,5表示13排五号座位')
        try:
            row,column = choose_num.split(',')#--------把输入的13,5一个参数分隔成13 5两个参数
            order_ticket(row,column)# ----------把两参数数传入订票函数
        except:
            print('输入格式有误,如13排五号座位,应输入13,5,请重新输入')
            continue
        else:
            choose = input('是否继续购票?y/n')
            if choose == 'y':
                continue
            else:
                show_ticket() # ---调用显示函数
                #break---------加进可以退出死循环,退出只能重新售卖
                              #不加可以一直循环到卖完

相关推荐

  1. python_day27

    2024-01-17 05:46:03       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-17 05:46:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-17 05:46:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-17 05:46:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-17 05:46:03       20 阅读

热门阅读

  1. Shiro + JWT + Spring Boot Restful 简易教程

    2024-01-17 05:46:03       28 阅读
  2. Go语言中的Channel

    2024-01-17 05:46:03       32 阅读
  3. Edge-TTS(文字转语音工具)Html版本

    2024-01-17 05:46:03       31 阅读
  4. index.cshtml

    2024-01-17 05:46:03       27 阅读
  5. 解决vue3中不支持.sync语法糖

    2024-01-17 05:46:03       33 阅读
  6. 蓝桥杯C组-填充-贪心

    2024-01-17 05:46:03       34 阅读
  7. Oracle相关问题及答案(2024)

    2024-01-17 05:46:03       19 阅读
  8. 提升问题检索的能力

    2024-01-17 05:46:03       34 阅读
  9. Go中更安全的枚举

    2024-01-17 05:46:03       34 阅读
  10. 学习python仅此一篇就够了(封装,继承,多态)

    2024-01-17 05:46:03       26 阅读
  11. C++ 类、结构体

    2024-01-17 05:46:03       29 阅读
  12. 文件包含介绍

    2024-01-17 05:46:03       28 阅读
  13. Nginx解析域名到指定端口

    2024-01-17 05:46:03       28 阅读