我试图让一个程序使用Python来创建一个基于数字n的“金字塔”,并且想出了这个:(我会打印nn,这就是行。)
import time
n = 0
while True:
n += 2 #just another way to show n=n+2
nn = n, "o" #nn would be an amount of o's, based on what #n was
time.sleep(1)
print (nn, str.center(40, " "))
不确定如何制作n并且不确定第6行是做什么的。有谁知道这两个问题的答案? (我不是在课堂上只是为了好玩而编程。)
答案 0 :(得分:1)
import time
n = 0
while True:
n += 2 #just another way to show n=n+2
nn = "o" * n #nn would be an amount of o's, based on what #n was
time.sleep(1)
print (nn.center(40," "))
正如有人在评论中所提及的那样,#34; o" * n将给出一个包含n" o" s的字符串。 我已经修复了打印行以使用正确的方法a调用中心方法。
答案 1 :(得分:1)
你可以试试这个:
from __future__ import print_function
import time
for n in range(0, 40, 2):
nn = n * "o" #nn would be an amount of o's, based on what #n was
time.sleep(1)
print(nn.center(40, " "))
答案 2 :(得分:1)
这将是您的问题的答案
import time
n = 0
while True:
n += 2
nn = n * "o"
time.sleep(1)
print (nn.center(40, " "))
if n > 30:
break
他们放time.sleep(1)
的原因是让它看起来像动画。 print (nn, str.center(40, " "))
必须将其更改为nn.center(40, " ")
,因为.center
是一种字符串方法。
答案 3 :(得分:1)
您还可以使用python提供的built-in formatting options。看看这个:
def pyramid_builder(height, symbol='o', padding=' '):
for n in range(0, height, 2): # wonkiness-correction by @mhawke
print('{0:{1}^{2}}'.format(symbol*n, padding, height * 2))
pyramid_builder(20, 'o')
^
符号表示您希望打印居中。在它之前({1}
)出现填充符号,然后是({2}
)总宽度。
这是完全可定制的,并且很有趣。