python刷题第六周

以下是有所收获的题目:

第一题

第4章-24 打印九九口诀表 (15 分) 下面是一个完整的下三角九九口诀表:

11=1 12=2 22=4 13=3 23=6 33=9 14=4 24=8 34=12 44=16 15=5 25=10 35=15 45=20 55=25 16=6 26=12 36=18 46=24 56=30 66=36 17=7 27=14 37=21 47=28 57=35 67=42 77=49 18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64 19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 99=81 本题要求对任意给定的一位正整数N,输出从11到N*N的部分口诀表。

输入格式: 输入在一行中给出一个正整数N(1≤N≤9)。

输出格式: 输出下三角N*N部分口诀表,其中等号右边数字占4位、左对齐。

我的代码:

n = int(input())
for x in range(n + 1):
    for y in range(x):
        if y != x - 1:
            if (y + 1) * x < 10:
                print("%d*%d=%d" % (y + 1, x, (y + 1) * x), "  ", end="")
            else:
                print("%d*%d=%d" % (y + 1, x, (y + 1) * x), " ", end="")
        else:
            print("%d*%d=%d" % (y + 1, x, (y + 1) * x))

别人的:

n=int(input())
for i in range(1,n+1):
    for j in range(1,i+1):
        print("{:d}*{:d}={:<4d}".format(j,i,i*j),end="")
    print()

收获:

1.对于每一行的最后一个元素输出后要换行,可以在循环结束后print()来实现,而没必要加一个if语句。
2.学习了:print("{:d}*{:d}={:<4d}".format(j,i,i*j),end="")这样的格式输出。
更多关于format函数的知识:~点这里~

第二题

第4章-25 输出三角形字符阵列 (15 分) 本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。

输入格式: 输入在一行中给出一个正整数n(1≤n<7)。

输出格式: 输出n行由大写字母A开始构成的三角形字符阵列。格式见输出样例,其中每个字母后面都有一个空格。

我的代码:

n = int(input())
index = ord('A')
for x in range(n, 0, -1):
    for y in range(x):
        print(chr(index), end=" ")
        index += 1
    print()

收获:

1.这道题主要考察了ASCII码与字符的转换:
对于字母,可以通过ord()来得到其对应的ascii码;
然后可以通过chr()对应的ascii码来得到对应的字符。

第三题:

第4章-27 二维数组中每行最大值和每行和 (10 分) 求一个3*3二维数组中每行的最大值和每行的和。

输入格式: 在一行中输入9个小于100的整数,其间各以一个空格间隔

输出格式: 输出3行3列的二维数组,并在每行后面分别输出每行最大值和每行元素的和,每个数据输出占4列。

我的代码:

ls = list(map(int, input().split()))
x = 0
for i in range(1, 4):
    s = 0
    m = []
    while x < 3 * i:
        s += ls[x]
        m.append(ls[x])
        print("{:4d}".format(ls[x]), end="")
        x += 1
    print("{:4d}{:4d}".format(max(m), s), end="")
    print()

收获

1.对format格式化输出函数理解更深了。
在提交答案过程中经常有格式错误,有一个点在于每个数据占4位
只有print("{:4d}{:4d}".format(max(m), s), end="")这样才能实现这种效果;
如果写成:print("{:>4d}".format(max(m)), "{:>4d}".format(max(m)), end="")的话,则不符合。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值