用Python写一个购票程序
时间: 2023-04-10 16:05:21 浏览: 347
好的,以下是一个简单的Python购票程序:
```python
tickets = 100 # 总票数
while True:
print("当前票数:", tickets)
num = input("请输入购票数量:")
if not num.isdigit():
print("输入有误,请重新输入!")
continue
num = int(num)
if num > tickets:
print("余票不足,请重新输入!")
continue
tickets -= num
print("购票成功,祝您旅途愉快!")
if tickets == 0:
print("票已售罄,下次再来吧!")
break
```
希望这个程序能够帮到你!
相关问题
用python写一个自动抢票程序
好的,自动抢票程序可以通过模拟用户操作,实现自动化抢票。以下是一个简单的Python脚本,可以实现12306网站的自动抢票功能:
```python
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 初始化浏览器
driver = webdriver.Chrome()
# 打开12306网站
driver.get("https://www.12306.cn/index/")
# 等待用户登录
time.sleep(30)
# 进入购票页面
driver.get("https://kyfw.12306.cn/otn/leftTicket/init")
# 设置出发地和目的地
fromStation = driver.find_element_by_id('fromStationText')
fromStation.clear()
fromStation.send_keys('上海')
toStation = driver.find_element_by_id('toStationText')
toStation.clear()
toStation.send_keys('北京')
# 设置出发日期
trainDate = driver.find_element_by_id('train_date')
trainDate.clear()
trainDate.send_keys('2022-01-01')
# 查询车次
searchBtn = driver.find_element_by_id('query_ticket')
searchBtn.click()
# 选择车次和座位类型
time.sleep(5)
trainNum = driver.find_element_by_xpath('//*[@id="ticket_1"]/td[1]/div/div[1]')
trainNum.click()
seatType = driver.find_element_by_xpath('//*[@id="seatType_1"]')
seatType.click()
# 提交订单
submitBtn = driver.find_element_by_id('submitOrder_id')
submitBtn.click()
# 确认订单
time.sleep(5)
confirmBtn = driver.find_element_by_id('qr_submit_id')
confirmBtn.click()
# 关闭浏览器
driver.close()
```
这个脚本使用了Selenium库来模拟用户操作,打开12306网站、登陆、查询车票、选择车次和座位类型、提交订单和确认订单等操作都在代码中实现。需要注意的是,脚本中的时间等待需要根据实际情况进行调整,以确保程序的正常运行。
用python写一个12306自动购票的代码
首先,你需要去12306官网申请一个账号并获取到你的账号的cookies,这样你才能使用程序登录12306官网。
然后,你可以使用Python的第三方库来实现网络请求和解析网页内容。例如,你可以使用requests库来发送HTTP请求,使用beautifulsoup库来解析HTML页面。
接下来,你需要先访问12306官网的登录页面,并根据网页的源代码找到登录所需要的参数(例如,登录所需要的用户名和密码)。然后,使用requests库发送一个POST请求,并将所需的参数和cookies一并发送到服务器。
如果登录成功,服务器会返回一个票务信息页面的HTML代码。你可以使用beautifulsoup库解析HTML代码,找到你所需要的火车票信息(例如,出发地、目的地、日期、车次、座位类型等)。
最后,你需要再次使用requests库发送一个POST请求,将你所需要的车票信息和cookies一并发送到服务器。如果购票成功,服务器会返回一个订单确认页面的HTML代码。
以上是大致的流程,你可以根据自己的需要