X
XXX
XXXXX
XXXXXXX这是我的计算机科学课程的入门作业的一部分。老师教我们关于I和j的范围,我完全不知道如何实现金字塔,我已经尝试了好几个小时了。除了我上过的两节50分钟的课之外,我从来没有接触过任何类型的编程。我非常希望得到一些帮助/建议。
本代码是我们当前教学和假定知识的范围:
for i in range(10):
line = ""
for j in range(10):
if j%2 == 0:
c = ' '
else:
c = '*'
line += c
print line发布于 2013-08-30 03:05:15
您可以使用字符串格式:
根据基地的大小:
def create_pyramid(base):
for i in xrange(1, base+1, 2):
print '{:^{}}'.format('X'*i, base)
...
>>> create_pyramid(7)
X
XXX
XXXXX
XXXXXXX根据级别的数目:
def create_pyramid(level):
for i in xrange(1, 2*level, 2):
print '{:^{}}'.format('X'*i, (2*level)-1)
...
>>> create_pyramid(5)
X
XXX
XXXXX
XXXXXXX
XXXXXXXXX发布于 2013-08-30 03:06:20
既然你的老师需要i和j,我猜他想要一些类似于老式C的代码,试试这个:
N,line,c,p = 10,'','',1
spaces = ' '*N
for i in range(N):
spaces = spaces[0:N-i]
c = ''
for j in range(p):
c += "X"
line += spaces+c+'\n'
p += 2
print line发布于 2013-08-30 03:30:53
以下是另一个解决方案:
def create_pyramid(base):
star = 1 # first row has 1 star
for i in range((base - 1) / 2, -1, -1): # (base - 1) / 2 will determine the first space given the base
print i * " ", star * "X" # spaces
# the , star * "X" on the above line means printing on the same line with no space
star += 2 # incrementing by 2 each time
...
>>>create_pyramid(7)
X
XXX
XXXXX
XXXXXXXhttps://stackoverflow.com/questions/18524214
复制相似问题