如何用Python打印此输出[自顶向下(偶数)][自下而上(奇数)]
试图打印这种数字模式 想要这个输出:如果a=10如何用Python打印此输出[自顶向下(偶数)][自下而上(奇数)],python,Python,试图打印这种数字模式 想要这个输出:如果a=10 2 9 4 7 6 5 8 3 10 1 代码:: a=10 for i in range(1,a+1): if(i%2==0): print(i) elif(a-i%2!=0): print(a-i) 在你开始表单2时,我建议循环也这样做,然后根据值是奇数还是偶数,打印好的东西 a = 10 for i in range(2, a + 2
2
9
4
7
6
5
8
3
10
1
代码::
a=10
for i in range(1,a+1):
if(i%2==0):
print(i)
elif(a-i%2!=0):
print(a-i)
在你开始表单2时,我建议循环也这样做,然后根据值是奇数还是偶数,打印好的东西
a = 10
for i in range(2, a + 2):
if i % 2 == 0:
print(i)
else:
print(a - i + 2)
不知道这个问题是关于什么的,但是坚持你的方法 根据您的代码风格,您只需翻转其他值,因此:
a=10
for j in range(1,a+1):
i = j + 1 if j % 2 else j - 1
if(i%2==0):
print(i)
elif(a-i%2!=0):
print(a-i)
另一个解决方案是运行多个迭代器并同时运行这两个迭代器:
a = 10
for i, j in zip(range(2, a + 2), range(a, 0, -1)):
print(j if i % 2 else i)
或者,您可以创建一个包含所有项目的列表:
a = 10
print([i for l in zip(range(2, a + 2, 2), range(a - 1, 0, -2)) for i in l])
第一个范围在列表中向前运行,第二个范围在每种情况下向后运行。好的开始。有什么问题吗?您是否收到任何错误代码或消息?您现在可以考虑接受答案或评论,以获取详细信息;奖励那些为你付出时间的人;我喜欢第二个,因为如果这是在生成器中,则没有任何方法可以降低代码的扩展速度