python九九乘法表:输入一个整数n,输出九九乘法表前n行的内容

任务描述
相关知识
Python的格式化输出
使用 % 符号进行格式化输出
使用 format 进行格式化输出
使用 f-string 进行格式化输出
编程要求
测试说明
任务描述
本关任务:编写一个能打印九九乘法表的小程序。

相关知识
为了完成本关任务,你需要掌握:Python 的格式化输出。

Python的格式化输出
使用 % 符号进行格式化输出
使用%符号表示占位符,从而实现格式化输出的方法,应该在很多高级编程语言都是可以直接使用的。通常的有%d表示输出十进制整数、%f表示输出浮点小数、%s表示输出字符串等等。

除了用占位符直接输出,我们有时候可能需要数字或字符串以左对齐或者右对齐的方式输出,或者需要输出占用指定位数的空间(保证数据显示比较整齐),又或者以保留指定位数的方式输出小数等等问题。这就需要我们对占位符有进一步的了解,对于第一个问题,比如我们要输出占10个空间大小的整数,则可以写成%10d,其他占位符可以类似操作。对于第二个问题,有占位符的情况下,输出是右对齐的。Python 如果需要左对齐,只要将%10d变为%-10d即可。对于第三个问题,比如我们要输出2位小数,则可以写成%.2f。注意,这里保留2位小数默认是四舍五入的。

示例程序:

#使用占位符直接输出
print("%d %f %s" % (20, 20.5, "hello python!"))
#以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
print("%010d" % 100)
#以保留3位小数的方式输出小数,注意是四舍五入的方式
print("%.3f" %(3.1416))

示例输出:
20 20.500000 hello python!
0000000100
3.142

更多的占位符表示可以参考下图:

使用 format 进行格式化输出
使用format进行格式化输出,最早是在 Python 2.6 开始使用,主要是通过{}和format关键字来引出,用法和之前的占位符使用有点类似,不过这里不需要指明输出类型,而且需要多次输出的变量只需要显示传入一次即可。

示例程序:

#指明要输出的变量的顺序
print("{0} {1} {2} {0} {1}".format(20, 20.5, "hello python!"))
#指明要输出的变量的名称
print("{a} {b}".format(b=666, a=123))
dt = {"a":123, "b":666}
#以解析关键字参数的方式输出
print("{a} {b}".format(**dt))

示例输出:
20 20.5 hello python! 20 20.5
123 666
123 666

那如果我们又遇到之前对齐方式或者保留指定位数等问题呢?可以参照下列示例程序。

示例程序:

#以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
print("{:>010}".format(100))
#以居中对齐方式输出占10位空间大小的整数,并且用0补齐输出
print("{:^010}".format(100))
#以保留3位小数的方式输出小数,注意是四舍五入的方式
print("{:.3f}".format(3.1416))

示例输出:
0000000100
0001000000
3.142

使用 f-string 进行格式化输出
f-string是从 Python 3.6 才开始使用的一种格式化输出的办法,相比前面两种格式化输出,使用f-string更易读,更简洁,不易出错,而且速度更快!使用的时候通过f关键字引出,然后要输出的变量直接在输出内容中用{}引出。然后其他使用和前面的format方式类似。

示例程序:

a = 5
dt = {'a': 123, 'b': 666}
print(f"{a} {dt}")
#以右对齐方式输出占10位空间大小的整数,并且用0补齐输出
print(f"{a:>010}")
b = 3.1416
#以保留3位小数的方式输出小数,注意是四舍五入的方式
print(f"{b:.3f}")

示例输出:
5 {‘a’: 123, ‘b’: 666}
0000000005
3.142

编程要求
根据提示,在右侧编辑器Begin-End区间补充代码,输出指定大小的乘法表。要求每一个乘法表项用一个空格隔开,并且让乘法表项的结果以右对齐且占3个空间大小的方式输出,详情请看样例。

本关涉及的代码文件src/step2/multiple_table_stu.py,请读者仔细阅读并完成空缺代码的填写。

测试说明
本关的测试文件是src/step2/main.py。

读者将src/step2/multiple_table_stu.py中的代码补充完毕,然后点击评测,平台自动编译运行src/step2/main.py,并以标准输入方式提供测评输入;
平台获取程序的输出,然后将其与预期输出对比,如果一致则测试通过;否则测试失败。
平台会对你编写的代码进行测试:

第一行输入一个整数n,表示输出乘法表前n行的内容。

测试输入:
1

预期输出:

测试输入:
2

预期输出:

开始你的任务吧,祝你成功!

参考代码:

class Solution:
    def solve(self, x):
        '''
        :type x: int
        :rtype : None
        '''
        #请在此添加代码,实现打印前x行乘法表的内容
        #********** Begin *********#
        for j in range(1,x+1):
            for i in range(j,9):
                print("{}*{}={:>3}".format(j,i,i*j),end=" ")
            print("{}*{}={:>3}".format(j,i+1,j*(i+1)))
        #********** End *********#
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别是个逗比吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值