【问题标题】:Python Printing and multiplying strings in Print statementPython在Print语句中打印和乘以字符串
【发布时间】:2014-12-14 20:26:09
【问题描述】:

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

i=0

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

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

同时打印两个#的作品。

我不知道如何将它组合成一个有效的语句,或任何其他方法。

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

【问题讨论】:

    标签: python string printing while-loop


    【解决方案1】:

    试试这个:

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

    【讨论】:

      【解决方案2】:

      应该这样做:

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

      【讨论】:

      • 只是吹毛求疵,OP 使用 Python 3,您能否编辑您的答案以反映不同的 print 语法?
      【解决方案3】:

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

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

      最终,您将了解到迭代从0n-1 的整数序列的习惯用法是for i in range(n): ...,但目前while 循环已经足够好了。

      【讨论】:

        【解决方案4】:
        i=0     
        while (i<=5):
            print( "#" +(" "*i)+ "#")
            i=i+1
        

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

        【讨论】:

        • 谢谢,效果很好,我不知道在打印语句中使用 + 可以在 Python 中使用,非常感谢。
        • 你也可以print( "#",(" "*i),"#")
        • @RespectMyAuthoritah 你用print('#\," "*i,'#')不是有两个额外的空格吗?
        • 哦,是的,它添加了一个额外的空格作为分隔符,但这有效:print( "#",(" "*i),"#", sep='')
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-21
        • 2018-07-04
        • 1970-01-01
        • 2012-12-12
        • 2016-01-20
        • 1970-01-01
        相关资源
        最近更新 更多