2016-01-26 58 views
0

我正在处理一个分配,以至于我需要在用户键入他想要的维度后打印一个“菱形”。示例;Python迭代地声明变量

如果用户键入5,它看起来像这样:

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

如果用户键入10,它看起来像这样:

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

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

任何帮助,欢迎随时告诉我,如果你我要去错误的方式!

+0

'行= [ “some_char”] * 10' – furas

+0

得到用户输入尺寸,然后根据输入做一个for循环和打印数组 –

回答

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"可以使用空间" "

+0

谢谢!它确实有帮助! :) – Gaboik