首页 > 解决方案 > python的高级循环问题

问题描述

我一直在通过一本名为“Introduction to Computer Science Using Python and Pygame”的书学习python。在这本书中有一节称为高级循环问题,没有解释或概述如何解决它们,但我想我还是会尝试它们。多亏了这里的一些帮助,我已经完成了前两个,剩下的如下:

问题 1-3 问题 4-6

这是前两个问题的代码,以及我对第三个问题的尝试。对其余这些的任何帮助将不胜感激!

#Problem 1:
for n in range(10):
    for i in range(10):
        print(i, end=" ")
    print()

#Problem 2:
for n in range(11):
    for i in range(n):
        print(i, end=" ")
    print()

#Problem 3:
for n in reversed(range(10)):
    for s in reversed(range(10)):
        print(" ", end="")
    for i in range(n+1):
        print(i, end=" ")
    print()

标签: pythonloops

解决方案


对于问题 3,您得到了需要 2 个内部循环的提示,一个用于空格,一个用于数字。

从 0 开始的每一行需要多一个空格(看起来像行索引),从 10 开始少一个数字(10 - line_index)。代码可以是:

for i in range(10):
    for j in range(i):
        print(' ', end=' ')
    for j in range(10-i):
        print(j, end=' ')
    print()

对于问题 4,使用提示":2d".format(n)来确保对齐


推荐阅读