使用Python编写一个简单的火车票查询程序
发布时间:2023-12-04 12:17:42
火车票查询程序是一个非常常见的应用,它可以让用户输入出发站、到达站、日期等信息,然后通过调用火车票查询接口,返回符合条件的火车票信息。
下面是一个简单的火车票查询程序的示例代码:
import requests
def query_train_tickets():
# 用户输入出发站、到达站和日期信息
from_station = input("请输入出发站:")
to_station = input("请输入到达站:")
date = input("请输入日期(格式为yyyy-mm-dd):")
# 构建URL
url = f"https://www.12306.cn/index/otn/leftTicket/queryZ?leftTicketDTO.train_date={date}&leftTicketDTO.from_station={from_station}&leftTicketDTO.to_station={to_station}&purpose_codes=ADULT"
# 发送HTTP请求,获取火车票信息
response = requests.get(url)
tickets = response.json()["data"]["result"]
# 解析火车票信息,打印出符合条件的火车票信息
print("车次\t出发站\t到达站\t出发时间\t到达时间\t座位类型\t票价")
for ticket in tickets:
ticket_info = ticket.split("|")
train_number = ticket_info[3]
from_station_name = ticket_info[6]
to_station_name = ticket_info[7]
start_time = ticket_info[8]
arrive_time = ticket_info[9]
seat_type = ticket_info[35]
price = ticket_info[33]
print(f"{train_number}\t{from_station_name}\t{to_station_name}\t{start_time}\t{arrive_time}\t{seat_type}\t{price}")
# 调用火车票查询函数
query_train_tickets()
使用示例:
请输入出发站:北京 请输入到达站:上海 请输入日期(格式为yyyy-mm-dd):2022-01-01 车次 出发站 到达站 出发时间 到达时间 座位类型 票价 G101 北京 上海 08:00 13:30 商务座 1634.5 G105 北京 上海 09:00 14:30 商务座 1634.5 G109 北京 上海 10:00 15:30 商务座 1634.5 ...
上述代码中,我们首先引入了requests库来发送HTTP请求,然后定义了一个query_train_tickets()函数来处理火车票查询逻辑。在函数内部,我们通过input()函数来获取用户输入的出发站、到达站和日期信息,并将这些信息拼接到查询URL中。然后,我们发送HTTP请求,获取到查询结果,并解析该结果,打印出车次、出发站、到达站、出发时间、到达时间、座位类型和票价等信息。
请注意,在实际使用中,你需要根据具体的火车票查询接口来构建查询URL,并根据返回结果的格式来解析火车票信息。上述示例代码仅作为一个简单的参考,具体实现需要依据你使用的具体接口进行调整。
总结起来,这个简单的火车票查询程序可以帮助用户根据出发站、到达站和日期查询火车票信息,以方便用户安排行程。通过使用Python编写这样的程序,可以提高自己的编程能力,并为日常生活提供便利。
