Python迭代地声明变量

时间:2016-01-26 19:47:27

标签: python loops variables initialization iteration

我正在进行一项任务,我需要在用户输入他想要的尺寸后打印“钻石”。示例;

如果用户键入5,则如下所示:

  |
 |||
|||||
 |||
  |

如果用户键入10,则如下所示:

      |
     |||
    |||||
   |||||||
  |||||||||
  |||||||||
   |||||||
    |||||
     |||
      | 

我的想法是为我需要打印的每一行初始化一个数组,但我不知道如何自动初始化与用户输入的数字对应的多个数组。

欢迎提供任何帮助,如果您认为我的方式错误,请随时告诉我!

1 个答案:

答案 0 :(得分:1)

如果它有帮助你可以使用“数组”(或更确切地说是二维列表)。

创建包含10个字母“X”的行

row = [ "X" ] * 10

但要创建10行的“数组”,你无法做到

array = [  [ "X" ] * 10  ] * 10

因为你将所有行作为对内存中相同空间的引用。

你需要

array = []

for i in range(10)
    row = [ "X" ] * 10
    array.append(row)

或更短

array = [ [ "X" ] * 10 for i in range(10) ]

(代替"X",您可以使用空格" "