当前位置: 首页 > news >正文

九九乘法表--课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)

实例9:九九乘法表

乘法口诀是中国古代筹算中进行乘法、除法、开方等运算的基本计算规则,沿用至今已有两千多年。古代的乘法口诀与现在使用的乘法口诀顺序相反,自上而下从“九九八十一”开始到“一一如一”为止,因此,古人用乘法口诀的前两个字“九九”做为此口诀的名称。

本实例要求编写程序,实现通过for循环嵌套输出下列样式的九九乘法表的功能。

1*1=1  

1*2=2   2*2=4  

1*3=3   2*3=6   3*3=9  

1*4=4   2*4=8   3*4=12  4*4=16 

1*5=5   2*5=10  3*5=15  4*5=20  5*5=25 

1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36 

1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49 

1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56    8*8=64 

1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63    8*9=72  9*9=81 

实例目标

  1. 掌握while循环的使用
  2. 了解break的基本用法

实例分析

九九乘法表一共有九行,每行等式的变量和行号相等,例如第二行包含两个等式,第六行包含6个等式,以此类推,第九行包含9个等式。根据其特点可知可使用for循环嵌套解决此问题。

我们可以定义变量i控制乘法表的行数与变量j控制乘法表等式量的输出。

第一个for循环用来控制乘法表中每行的第一个因子和表的行数;第二个for循环中变量j取值范围的确定建立在第一个for循环的基础上,它的取值是第一个for循环中变量的值,换言之,j的取值根据行数变化,运行到第几行,j的最大值就是几。

为了控制格式,将乘法表分行,需要在每行的末尾输出一个换行。

代码实现

for i in range(1, 10):

    for j in range(1, i + 1):

        print(str(j) + str("*") + str(i) + "=" + str(i * j), end="\t")

    print()  # 换行输出

上述代码中,第1个for循环的循环因子i的通过range()函数设置,其取值范围为1-9。因为等式的数量与行号相等,所以在第2个for循环中变量j最大取值范围为等式数量。行数与等式量控制好后,便可以对乘法表中的乘法口诀进行拼接,拼接完成后进行换行输出。

代码测试

运行代码,控制台输出结果如下:

1*1=1

1*2=2   2*2=4

1*3=3   2*3=6   3*3=9

1*4=4   2*4=8   3*4=12  4*4=16

1*5=5   2*5=10  3*5=15  4*5=20  5*5=25

1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36

1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49

1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64

1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81

http://www.lryc.cn/news/34114.html

相关文章:

  • 在超算上安装文件树命令tree
  • 论文投稿指南——中文核心期刊推荐(经济管理)
  • 在vue中如果computed属性是一个异步操作怎么办?
  • SRP合批问题
  • 蓝牙5.1低功耗SOC 私有协议2.4GHz芯片HS6621
  • 数据库连接池
  • Arrays-sort-的用法
  • 华为OD机试真题Java实现【寻找相同子串】真题+解题思路+代码(20222023)
  • 性能指标 确定性能目标 性能场景设计
  • ENVI_Classic:快速入门_菜单栏常见功能的基本介绍
  • 【深度探讨】公共部门在选择区块链平台时要考虑的6个方面
  • 基于阿里云物联网平台设计的实时图传系统_采用MQTT协议传输图像
  • 42-Golang中的单元测试
  • python实现k_means聚类
  • 【批处理脚本】-3.3-exit命令详解
  • 如果读了我2011年求职前端开发的酸爽经历,希望你可以鼓起勇气继续向前
  • PTA:L1-016 查验身份证、L1-017 到底有多二、L1-018 大笨钟(C++)
  • springboot工厂模式解决if_else流程和问题点解决
  • 如何避免缓存击穿?使用GO语言实现sliglefight
  • 【浅学Java】MySQL索引七连炮
  • 扬帆优配|昔日白马股濒临退市,却6天5涨停!ST股突然集体爆发
  • Git 基础(一)—— Git 的安装及其配置
  • 什么是信息安全风险评估?企业如何做?
  • HBase---idea操作Hbase数据库并且映射到Hive
  • 剑指 Offer 61 扑克牌中的顺子
  • Spring 响应式编程-读书笔记
  • CI流水线的理解
  • OpenStack手动分布式部署Nova【Queens版】
  • centos7 oracle19c安装 ORA-01012: not logged on
  • 山东小巨人申报条件