找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2317|回复: 3

[求助] 有一个课后习题没做出来,大神帮忙看看呗

1

主题

2

帖子

2

积分

贫民

积分
2
收鸽者 发表于 2019-3-21 21:24:21 | 显示全部楼层 |阅读模式
梁勇那本python书上的课后题,输出一个金字塔,9以下的没问题,超过9会多一个空格发生错位,实在想不出怎么搞了,大神帮忙看看呗

num = eval(input("请输入一个1到15的整数:"))

for i in range(1,num + 1):
    if i < 10:
        temp = 17 - i
        for a in range(1,temp):
            print(' ',end = ' ')
    else:
        temp = 12.5 - i
        a = 0
        while a < temp:
            print(' ',end = ' ')
            a += 0.5

    for j in range(i,1,-1):
        print(j,end = ' ')
    for j in range(1,i + 1):
        print(j,end = ' ')
    print()
#大于9会发生空格错位


代码这样的

代码这样的

9以下是好的

9以下是好的

大于10会发生错位

大于10会发生错位
回复

使用道具 举报

1

主题

17

帖子

17

积分

贫民

积分
17
蓝桥玄霜 发表于 2019-3-25 14:34:51 | 显示全部楼层
  1. num = eval(input("请输入一个1到15的整数:"))
  2. for i in range(1,num+2 ):
  3.     for j in range(1,num-i+2):
  4.         if j>num-9:
  5.             print(' ',end='')
  6.         else:
  7.             print('  ',end='')
  8.     for j in range(i-1,1,-1):
  9.         print(str(j),end='')
  10.     for j in range(1,i):
  11.         print(str(j),end='')
  12.     print()
复制代码
回复 支持 1 反对 0

使用道具 举报

0

主题

7

帖子

7

积分

贫民

积分
7
pietyknight 发表于 2019-3-22 14:39:05 | 显示全部楼层
是否应该考虑使用等宽字体?
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
收鸽者  楼主| 发表于 2019-4-24 11:22:35 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表