Python在Print语句中打印和乘法字符串

时间:2014-10-19 21:46:06

标签: python string printing while-loop

我正在尝试编写一个简单的python程序,它打印两个##,然后是##,并且每次都会增加#之间的空格数。这是我试过的代码:

i=0

while (i<=5):
 print ("#" (" " * i) "#")
 #print (" " * i)
 #print ("#" "#")

乘法在我测试的第一行代码中工作,然后推荐出来,我每次打印一个空格时都会在shell中看到它。

也打印两个#的作品。

我无法弄清楚如何将它组合成一个有效的语句,或任何其他方法。

任何帮助都将不胜感激,谢谢。

4 个答案:

答案 0 :(得分:2)

i=0     
while (i<=5):
    print( "#" +(" "*i)+ "#")
    i=i+1

您需要在print语句中添加字符串并递增i。

答案 1 :(得分:2)

您想要打印一个取决于变量的string。还有其他方法可以构建string,但最简单,最明显的方法是添加到一些固定的部分和一些计算的部分,在您的情况下为"#",空格和另一个"#"。要将这些部分加在一起,您必须使用+运算符,例如"#"+" "+"#"

您的代码中的另一个问题是while循环,如果您不增加变量i,其值将始终为0,循环将永久执行!

最终您将了解到,从0n-1迭代整数序列的惯用语是for i in range(n): ...,但是现在while循环足够好了

答案 2 :(得分:1)

这应该这样做:

  i=0
  while (i<=5):
     print ('#' + i * ' ' + '#')
     i = i + 1

答案 3 :(得分:0)

尝试一下:

def test(self, number: int):
   for i in range (number)):
      print('#' +i * ''+ '#')
      i+=1
return