python 1 22 333_python-领结形状函数

def numberBowTie(num):

for i in range(num):

# the idea is to iterate on i and when it's '1' to print only one time '1'

# then 2*num - 2 spaces and then to print one time '1' again.

# now do the same with i=2 only print '2' twice, 2*num - 4 spaces and then '2' twice again

# or in general:

#

# 1) str(i)*i == print a string of the number i -> i times

# 2) ' '* (2 * (num - i)) == print one space (2 * (num - i)) times

# 3) do the same as in 1)

#

print str(i)*i + ' '* (2 * (num - i)) + str(i)*i

for i in range(num):

# in the second loop we do the exact same calculation only in reverse order

print str(num-i)*(num-i) + ' '* (2 * i) + str(num-i)*(num-i)

numberBowTie(9)

输出值

1 1

22 22

333 333

4444 4444

55555 55555

666666 666666

7777777 7777777

88888888 88888888

999999999999999999

999999999999999999

88888888 88888888

7777777 7777777

666666 666666

55555 55555

4444 4444

333 333

22 22

1 1

对于ssm(在一个循环中):

def numberBowTie(num):

part1 = ''

part2 = ''

for i in range(num+1):

part1 = part1 + str(i)*i + ' '* (2 * (num - i)) + str(i)*i +'

'

part2 = part2 + str(num-i)*(num-i) + ' '* (2 * i) + str(num-i)*(num-i) + '

'

print part1 + part2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值