【发布时间】:2020-11-16 20:52:24
【问题描述】:
我已经设法让我的程序打印出与我想要的类似的火车车厢座位表,但程序的规范说应该以不同的方式打印出座位表(见底部) .代码如下所示:
while i <= rows:
j = 1
i = 1
while j <= seats:
k = j+(4*(i-1))
field.append("{}".format(k)) #Adds the two values to one.
j += 1
i += 1
a = 1
b = 1
for isle in range(rows):
for column in range(seats):
if a == 13:
print(" ↓ TYST AVD ↓")
if a % 4 != 0:
print(field[a-1].ljust(4), end='')
else:
print(field[a-1].ljust(4), end=''+"\n")
a += 1
b += 1
打印出来:
1 2 3 4
5 6 7 8
9 10 11 12
↓ TYST AVD ↓
13 14 15 16
17 18 19 20
21 22 23 24
我的问题是让每隔一行反转,即我想要这个:
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
我尝试过以几种不同的方式实现模数,或者对列表进行切片 - 这只会改变数字的顺序(例如,它使 24 变为 42) - 但我似乎无法得到任何工作。这是否与模数或切片有关,还是我必须重新考虑应对这一挑战的方法?
【问题讨论】:
-
你为什么要使用
modulo?l[::-1]将返回l的反面。