所以我刚开始学习python,我试图用相同的重复字符制作一个矩形,例如如果height = 5和width = 3,那么字符是' P,'将创建一个5x3的P&#39矩形:
PPPPP
PPPPP
PPPPP
但是我该如何编写一个程序呢?我该怎么做呢?我知道我必须使用"用于"循环,但我不确定我要做什么。谢谢 我到目前为止的代码是:
def width_of_rectangle(width_size):
for current_length in range(width_size):
print('P',end='')
def height_of_rectangle(height_size):
for current_height in range(height_size):
width_of_rectangle(current_lenght)
print('P',end='')
但它是制作一个三角形而不是一个矩形,因为它不重复相同的次数,它出现为:
P
PP
PPP
PPPP
PPPPP
我知道我做错了什么但不确定它是什么
答案 0 :(得分:1)
由于您似乎没有掌握如何使用for循环的概念,我将尝试解释它。 for循环执行x
次内的任何代码。{1}}次。当您知道要迭代代码的次数时,就会使用它们。如果您有python 3.3,则指定使用range()
函数的次数;如果您有2.7,则指定xrange()
。在任何一种情况下,它们都是一样的您可以指定起点,终点和跳过。
>>>range(5, 11, 2)
5
7
9
注意11不在范围内?这是因为范围上升到结束点之前的数字10。您可以将跳过留空,因为它默认为1(range(5,11)
)。现在要在for循环中使用它,你会像这样编写
>>>for x in range(5,11,2):
... print(x)
对于循环x
的每次迭代,是范围的当前值。
您还可以嵌套循环,这是循环内部的循环。如果我们有
>>>for i in range(5):
... for j in range(4):
... print('*')
内部for循环将执行5次,print语句将执行20次。希望能够找到解决问题的正确方法。
此link可能会有用,因为print会自动在您正在打印的内容上添加换行符。
答案 1 :(得分:1)
使用for
,并遵循SirParselot的精彩报道,可能是更好的可读性选项,但for
循环不是您唯一的选择!
def make_char_rectangle(char, height, width):
return ((char*width)+'\n')*height
稍微分开一点,我们得到:
def make_char_rectangle(char, height, width):
line = char * width
rectangle = (line + '\n') * height
return rectangle
使用以上任一方法:
>>> print(make_char_rectangle('L', 3, 5))
LLLLL
LLLLL
LLLLL