【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'] #表格的标题,行的titlefor 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,请重新输入')continueelse:choose = input('是否继续购票?y/n')if choose == 'y':continueelse:show_ticket() # ---调用显示函数#break---------加进可以退出死循环,退出只能重新售卖#不加可以一直循环到卖完

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/240112.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UL2034详细介绍UL 安全单站和多站一氧化碳报警器标准

在介绍相关标准之前先介绍一下UL认证和UL测试报告的区别,检测认证行业6年老司机 UL认证是自愿性的认证,需要检测产品和审核工厂,每个季度审核一次,费用高、时间久,而且审厂非常的严格。 UL测试报告是根据产品选用相应…

Spring Boot - Application Events 的发布顺序_ApplicationFailedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的,它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦&#…

Matlab字符识别实验

Matlab 字符识别OCR实验 图像来源于屏幕截图,要求黑底白字。数据来源是任意二进制文件,内容以16进制打印输出,0-9a-f’字符被16个可打印字符替代,这些替代字符经过挑选,使其相对容易被识别。 第一步进行线分割和字符…

docker screen 常用基础命令

1.docker基础命令 1.1开启docker systemctl start docker #开启docker service docker restart #重启docker systemctl stop docker #关闭docker 1.2查看命令 docker images #查看docker镜像docker ps #查看正在运行的镜像或者容器docker ps -a #查看所有容器1.3运…

Spring | Spring框架最基本核心的jar包、Spring的入门程序、依赖注入

目录: 1.Spring框架最基本、最核心的jar包2.Spring的入门程序3.依赖注入3.1 依赖注入的概念3.2 依赖注入的实现方式 1.Spring框架最基本、最核心的jar包 Spring是一个轻量级框架,Spring最基本、最核心的的jar包括 : beans、context、core、expression。 …

import { ArrowRight } from “@element-plus/icons-vue“;

今天下午快被这个问题折磨疯了 虽然知道这个问题怎么产生的 但项目里那个碍眼的红线就是去不掉 后来才发现 这是插件的锅 我的心情 你知道我想要说什么的 想必能看到这篇文章的 也知道这个问题是怎么产生的 vue3ts使用的时候 默认是需要带上文件名的 但是引入el组件时 …

CSS 水浪按钮

<template><view class="content"><button class="button"><view class="liquid"></view><view class="btn-txt">水浪按钮</view></button></view></template><scrip…

计算机导论05-计算机网络

文章目录 计算机网络基础计算机网络概述计算机网络的概念计算机网络的功能计算机网络的组成 计算机网络的发展计算机网络的类型 网络体系结构网络互联模型OSI/RM结构与功能TCP/IP结构模型TCP/IP与OSI/RM的比较 网络地址与分配IP地址构成子网的划分IPv6 传输介质与网络设备网络传…

异常处理注解 @ExceptionHandler

今天记录下 SpringBoot 中 ExceptionHandler 的使用。 场景 有一个员工表(employee)&#xff0c;且给表中的 username 属性设置了唯一性。 -- auto-generated definition create table employee (id bigint auto_increment comment 主键primary key,name va…

word写标书的疑难杂症总结

最近在解决方案工作&#xff0c;与office工具经常打交道&#xff0c;各种问题&#xff0c;在此最下记录&#xff1a; 1.word中文档距离文档顶端有距离调整不了 1.疑难杂症问题1&#xff0c;多个空格都是不能解决 #解决办法&#xff1a;word中--布局-下拉框---“版式”--“垂直…

Qt根据单价计算总价与进制转换

1.相关说明 二进制、十进制、十六进制间的相互转换 2.界面绘制 3.相关主要代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete …

DataXCloud部署与配置[智数通]

静态IP设置 # 修改网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33# 修改文件内容 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic IPADDR192.168.18.130 NETMASK255.255.255.0 GATEWAY192.168.18.2 DEFROUTEyes IPV4_FAILURE_FATALno IPV6INIT…

GPT Store,是否会成为下一个App Store?

经历了一场风波后&#xff0c;原本计划推出的GPT Store终于成功上线。OpenAI在北京时间1月11日推出了GPT Store&#xff0c;被广泛视为类似于苹果的"App Store"&#xff0c;为人工智能应用生态系统迈出了重要一步。然而&#xff0c;OpenAI要想将GPT Store打造成苹果般…

Android APP修改为鸿蒙APP需要注意的问题

将Android应用修改为鸿蒙&#xff08;HarmonyOS&#xff09;应用需要注意一些关键问题&#xff0c;以确保应用在新平台上的顺利运行。以下是在修改Android应用为鸿蒙应用时需要考虑的一些重要问题&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软…

postman 简单测试(二)

接着上一节 https://blog.csdn.net/myy2012/article/details/135616719 1.Tests的简单使用&#xff08;后置处理器&#xff09; 具体的截图是每一步操作后得来的&#xff0c;记录方便自己以后查阅&#xff0c;也希望能帮助到有缘人。 1.1 把返回值存入到环境变量中&#xff…

JS逆向实战案例2——某房地产token RSA加密

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、 反爬分析 url1&#xff1a;aHR0cDovL3pmY2ouZ3ouZ292LmNuL3pmY2ovZnl4eC94a2I/c1Byb2plY3RJZD05MzBlMDQ0MmJjNjA0MTBkYTgzNzQ0MmQ…

学习记录-自动驾驶与机器人中的SLAM技术

以下所有内容均为高翔大神所注的《自动驾驶与机器人中的SLAM技术》中的内容 2D SLAM 作者实现了一个2D 的ICP 3D SLAM ICP 实现了一个并发的ICP配准实现了点到面的ICP实现了点到线的ICP点到线的ICP的结果与点到点的ICP相当&#xff0c;略差于点到面的、在三中算法中&#…

【Proteus仿真】【Arduino单片机】汽车车窗除霜系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用LCD1602显示模块、光线传感器、DS18B20温度传感器、PCF8691 ADC模块、继电器加热模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD…

成功 BOM 流程的五个基本要素

您应该以确保 BOM 流程的方式实现和启用它们&#xff1a; 准确的 当前的 完全的 清除 可行的 追求准确性 为下游提供准确数据 制造商使用其 BOM 来通知下游操作他们需要执行什么。不言而喻&#xff0c;向其他团队和员工提供准确的信息至关重要&#xff1b;否则&…

3.日志配置

规范&#xff1a;项目开发不要编写System.out.println()&#xff0c;应该用日志记录信息 先创建项目&#xff1a; 1. 简介 Spring使用commons-logging作为内部日志&#xff0c;但底层日志实现是开放的。可对接其他日志框架。 SpringBoot怎么把日志默认配置好的 1、每个start…