如何打印带缩进的字符串?并编写实现递增缩进的重复打印函数
解决字符串递增缩进重复打印的问题
嘿,我明白你卡在哪啦!你写的代码里,把计算缩进的*5*i放在了字符串引号里面,这就导致Python只会把它当成普通的文本内容输出,根本不会去执行这个乘法运算,自然就没法生成递增的缩进啦。
咱们只要把缩进的计算放在引号外面,通过字符串乘法生成对应数量的空格,再和要打印的文本拼接起来就行,具体改法如下:
def printAddOils(n): for i in range(1, n+1): # 先生成i*5个空格,再拼接目标字符串 print(" " * (i * 5) + "Add Oil!")
简单解释下:
" " * (i *5)会根据当前循环的i值,生成对应数量的空格(第一次循环i=1,就是5个空格;i=2就是10个,以此类推)- 把这个空格字符串和
"Add Oil!"拼接后,再用print输出,就能实现每一行比上一行多5个空格的效果啦
比如当你调用printAddOils(3)时,输出会是:
Add Oil! Add Oil! Add Oil!
如果想要第一行没有缩进,后续每行递增5个空格,只需要把循环的range改成range(n),让i从0开始就行:
def printAddOils(n): for i in range(n): print(" " * (i * 5) + "Add Oil!")
这样调用printAddOils(3)的输出就是:
Add Oil! Add Oil! Add Oil!
内容的提问来源于stack exchange,提问作者Parvesh D. Singh
相关产品推荐
相关产品推荐

