【发布时间】:2020-11-29 09:43:18
【问题描述】:
我需要能够打印一个列表,其中我将列表中的所需值标记为“XX”,即从“XX”开始。我的麻烦是我正在使用嵌套列表并且不确切知道我应该如何找到某个值。我也不知道我是否能够将整数更改为字符串,或者这是否会弄乱列表的整个打印方式。我“标记”该值的函数如下所示:
i = 0
while i <= len(chosenseat):
findseat = field.index(chosenseat[i])
field[findseat] = "*"+chosenseat[i]+"*"
for idx, row in enumerate(field):
if idx == floor(len(field) / 2):
print("{:^{}}".format('↓ TYST AVD ↓', (len(row) * 4) - 2))
if idx % 2 == 1:
row = row[::-1]
print(("{:<4}" * len(row)).format(*row))
i += 1
(我在 StackOverflow 上从 Hampus Larsson 获得了上面的大部分代码!)
整个程序是火车车厢的订票系统,我希望能够在预定座位时用“**”标记所需的座位。打印列表时,它看起来像:
1 2 3 4
8 7 6 5
9 10 11 12
↓ TYST AVD ↓
16 15 14 13
17 18 19 20
24 23 22 21
如果用户想要 19 和 20 号座位,则列表应打印为:
1 2 3 4
8 7 6 5
9 10 11 12
↓ TYST AVD ↓
16 15 14 13
17 18 *19**20*
24 23 22 21
我遇到的另一个问题是,在解开票时,“**”应该被删除,但我目前甚至无法将星星固定到位。有人可以指导我吗?
【问题讨论】:
-
你能发布你的字典是什么样子的吗?
-
@Crapy 请原谅我的提问,但什么是字典?