永发信息网

新手求教:请问怎样用python 显示杨辉三角,任意输入一个数N,输出一个N+1层的杨辉三角。

答案:1  悬赏:40  手机版
解决时间 2021-04-05 00:22
新手求教:请问怎样用python 显示杨辉三角,任意输入一个数N,输出一个N+1层的杨辉三角。
最佳答案
我来试一下:
#!/usr/bin/python
# coding:utf-8
n = -1
while n < 0:
   n = raw_input("Enter a nonnegative integer >= 0:")
   try:
       n = int(n)
   except:
       print "please enter integer!"
       n = -1
tmppascal = [0,]* (2 * n + 3)
pascal = []
for i in range(n + 2):
   pascal += [tmppascal[:],]
center = n + 1
pascal[1][center] = 1
x = y = 0
for i in range(2, n + 2):    
   if n % 2 == 1:
       if i % 2 == 0:
           x = 1
           y = 2 * n + 2
       else:
           x = 2
           y = 2 * n + 1
   else:
       if i % 2 == 1:
           x = 1
           y = 2 * n + 2
       else:
           x = 2
           y = 2 * n + 1
   for j in range(x, y, 2):
       pascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j + 1]
if n % 2 == 0:
   max = pascal[n + 1][center]
else:
   max = pascal[n + 1][center - 1]
maxlen = len(str(max))
for row in pascal[1:]:
   for col in row[1:-1]:
       if col == 0:
           col = ""
       fm = '{0: ^' + str(maxlen) + '}'
       print fm.format(col),
   print追问这个输出结果格式不对啊?全在一条直线上,不是三角啊追答最后一行的print别删除了。
你的python版本是哪个?追问没有删除啊,是3.3的,给print都加了括号了,输出结果还是

格式要求要和问题中一样,每个数之间空格是最大数的位数,3位数就空三格,两位数就空两格。大神,请问能解决吗?

追答倒数第二行,改为:
print(fm.format(col), end='')
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
生病住院的祝福语,姑姑生病住院我的祝福语是
单选题Thismonumentwasbuilt______thelittl
同一部手机怎样申请第二个微信号?
dnf怎么将任务给的《试》武器变成永久?
昆明通风天窗找哪家靠谱?
夜钓到底使用蓝灯呢?夜光棒?电子漂?哪个
220∨电压变24∨电压整流电压是多少
班主任批评学生名言,两口子吵架不讲理的句子
如何将已装系统的C盘再进行分区而不破坏数据
我叔叔一个人怎么申请五保
陕西医学院校都有哪些
一艘轮船顺水航行的速度是20海里/小时,逆水
都说吃王不留行片,催奶,请问吃多久才能把奶
世间有万物,我不缺你一个
大家庭聚会温馨的诗歌,大家庭聚会野炊经典句
推荐资讯
10除以0.56竖式计算
一个24V的变压器可以接多少个3W大功率LED灯珠
男子帮女子画眉的诗句,描述女子见不到自己心
男生烫头发需要多久,男生烫发头发需要多长?
套房进入大门,大门锁怎样分左右把手
灰尘进入发动机燃烧室的问题!
为什么古代用针扎玩偶而真人会痛
你好,小米手机4 全局搜索 在那里添加。麻烦
月经末同房后月经就一直不干净快一个月了
TSI和DSG是什么意思?什么叫双离合?
谁给我3个少数民族的资料?
我的新房130平米,每平米3100元,契税按1.5%
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?