鱼C论坛

 找回密码
 立即注册
查看: 1907|回复: 6

一个小程序,自己写的有点问题,可能是思路不对,求大佬给个好的答案

[复制链接]
发表于 2017-9-26 16:37:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一列火车,从广州到南京的火车,途径 韶关 、杭州、上海,现有10张票,写一个程序进行售票,乘客随机从某一个站到另一个站,并输出是否买票成功
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-9-26 16:49:14 | 显示全部楼层
不是很理解你的题目,是不是这个意思?
  1. 座位号 广州 韶关 杭州 上海 南京
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
复制代码

一旦两地见的10个座位都出售了,那么这两地见的票就不能出售了?
如果是这个意思的话,其实就是建一个二维数组,每售出一张票就在数组中对应的位置标记,如果两地间的10个座位都被标记了,则表示票已售完。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-26 16:49:38 | 显示全部楼层
我自己写的代码  但是删除已经购买的票的时候有点问题,报错了,求大神指导



import os

Train_station = ['广州','韶关','杭州','上海','南京']

Train_stations = []

Train_tickets = 10

for d in range(0,Train_tickets):
        Train_stations.append(Train_station)

#print (Train_stations)

Train_statr = input('请输入起始站:')

Train_end = input('请输入终点站:')

try:
        if Train_station.index(Train_statr) >= Train_station.index(Train_end):
                print ('起止点输入有误~')
        else:
                for stations in Train_stations:
                        print (stations)
                        if Train_statr in stations and Train_end in stations:
                                print ('订票成功')
                                aa=Train_stations.index(stations)
                                Train_stations[aa].pop[Train_station.index(Train_statr):Train_station.index(Train_end)]      #删除购买成功的票
                                print (stations)
                                break
                        else:
                                print ('订票失败')
                                break

except IndentationError :
        print ('请输入有效的城市')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-26 16:50:19 | 显示全部楼层
这是报错信息


请输入起始站:广州
请输入终点站:南京
['广州', '韶关', '杭州', '上海', '南京']
订票成功
Traceback (most recent call last):
  File "火车售票.py", line 34, in <module>
    Train_stations[aa].pop[Train_station.index(Train_statr):Train_station.index(Train_end)]      #删除购买成功的票
TypeError: 'builtin_function_or_method' object is not subscriptable

***Repl Closed***
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-26 16:52:20 | 显示全部楼层
jerryxjr1220 发表于 2017-9-26 16:49
不是很理解你的题目,是不是这个意思?

一旦两地见的10个座位都出售了,那么这两地见的票就不能出售了? ...

是的  其实就是和现在买火车票的机制差不多,两个站的票卖了,那么经过这两个站的票就不能卖了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-26 17:00:31 | 显示全部楼层


以数组记录的话,最好是不要进行增删操作,容易导致出错,可以直接
  1. [10, 10, 10, 10]
复制代码

5个站点,4段旅程,每段旅程有10个座位可以出售。
任意段旅程>=1的话,表示这段旅程可以出售,否则就不能,这样就很简单了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-26 17:25:15 | 显示全部楼层
jerryxjr1220 发表于 2017-9-26 17:00
以数组记录的话,最好是不要进行增删操作,容易导致出错,可以直接

5个站点,4段旅程,每段旅程有10 ...

我试试这个思路
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 16:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表