是否有可能解决这个明星金字塔

时间:2014-03-10 22:10:08

标签: python

今天,我试图解决一个小星星金字塔:

输入:

5 1

输出:

*
**
***
**** 

代码:

x = 1 
y = 0  
m, e = map(int, raw_input().split()) 
while x < m:
    print "\n" * y, "*" * e
    m -= 1 
    e += 1 

我做到了但有一个更好的解决方案?谢谢=)

3 个答案:

答案 0 :(得分:2)

我认为这可以更容易解决:

stop, first = map(int, raw_input().split())
for i in range(stop - 1):
    print '*' * (i + first)

答案 1 :(得分:1)

只是为了好玩&gt;:)

class c:
   def __init__(s,m,e):
      s.e , s.m = sorted([e, m])
      s.r = 42
   def __iter__(s):
      return s
   def next(s):
      if s.m < s.e:
         t = "".join(chr(s.r) for _ in range(s.m))
         s.m += 1
         return t
      else:
         raise StopIteration

print "\n".join(c(*map(int,raw_input().split())))

答案 2 :(得分:1)

n = int(raw_input())
for i in range(n): print "*"*i

这看起来像你的程序打算做什么,但由于我在上面的评论中提出的问题,我无法说清楚。