1 # 结合一下列表生成, 准备设计乘法表
2 # numlist = [1,2,3,4,5]
3 # [pow(i,3) for i in numlist]
4 # ## [1, 8, 27, 64, 125]
5 # [[pow(i,2), pow(i,3), pow(i,4) ] for i in numlist]
6 # ## [[1, 1, 1], [4, 8, 16], [9, 27, 81], [16, 64, 256], [25, 125, 625]]
7 '''
8 乘法口诀表
9 思路: 生成多个list ,拼成一个大list。 每一个小list作为乘法口诀表的一行,
10 再通过for循环将子list迭代出来,每一个子list占据一行。
11 '''
12 # 先生成一个大矩阵,由多个list组成的大list
13 numlist = [[0] * 10 for i in range(10)]
14 # numlist = [[0] * 9 ] * 9 #这么生成列表,结果就不对, 为什么?
15 # 可以通过下列语句列出矩阵。
16 # for n in numlist:
17 # print(n)
18
19 '''
20 定义行列:
21 大矩阵list中,有9个小list, 每个list中有10个元素(因为最后不需要索引0这个元素)。
22 每一个小list就是乘法表的一行, list中的元素就是对应行的‘列’
23 '''
24 # 开始循环,每行循环一次 , 从第一行循环到第九行。
25 for l in range(1, 10):
26 # 开始列循环, 每行中循环为行中每列赋值。 从第一列循环到第九列。
27 for r in range(1, 10):
28 # 算法是 numlist[行][列]索引的元素值 == 所在行x所在列, 但是这块需要注意一下:
29 # 我们常见的口诀表,实际上显示的格式是 列x行=结果, 如: 1x2=2 ,2x2=4 ,
30 # 因此,使用这种方式进行字符串格式化,但是实际循环式,使用的循环方式是在行循环中依次对列进行循环。
31 numlist[l][r] = "{}x{}={}".format(r, l, r*l)
32
33 print('\n', ' ' * 20, '九九乘法表')
34 # 完成为大矩阵list赋值后, 开始通过for循环将大矩阵list中的每一个小list迭代出来
35 # 开始行循环,每行循环一次,从第一行循环到第九行。
36 for l in range(1, 10):
37 # 开始列循环。
38 # 旗形口诀表,每行的乘数等于被乘数后,该行即结束。
39 # 反应到算法上,由于大矩阵list中第一个小list(第1行)索引为0,因此每行中列循环次数==该行所处list索引数+1, 这样用来生成旗形口诀表。
40 # 如果使用 for r in range(1,10): 这样输出的是矩阵。
41 for r in range(1, l+1):
42 print(numlist[l][r], end=' ')
43 # 每列循环完,插入一个换行动作
44 print()
45 # for n in numlist:
46 # print(n)

执行结果:

九九乘法表
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

用列表+for循环生成乘法口诀表的更多相关文章

  1. js用for循环实现乘法口诀表

    for循环可以打印一个乘法口诀表.需要使用for循环的嵌套 <script> for(var i = 0; i <= 9; i++){ // 外层循环控制行数,外层循环执行一次,内层 ...

  2. 利用T-Sql语句中的二重循环打印乘法口诀表

    --定义三个初始化变量 declare @a int,@b int,@c varchar(200) --对@a进行赋值 set @a=1 --循环输出9次,@a为被乘数 while(@a<=9) ...

  3. 055、Java中使用for循环输出乘法口诀表

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  4. for 循环 乘法口诀表

    用for循环写乘法口诀表: for(var i = 1; i <= 9; i++) { var c=''; for(var x = 1; x <= i; x++) {    c=c+x+' ...

  5. java输出九九乘法口诀表

    使用双重for循环输出九九乘法口诀表 public static void main(String[] args){ formula();} /** * for 循环实现9*9乘法口诀表 * &quo ...

  6. 用SQL打印乘法口诀表

    --用SQL打印出乘法口诀表 declare @i int ,@j int --@i是乘法口诀的行数 --一共九行 begin --每次都是从1*开始,j每循环一次递增 )--print每次输出都会换 ...

  7. JS一些小算术、1加到50、乘法口诀表、买鸡等

    //从1加到50 for (var a=1,i=0;a<51; a++) {i=a+i} document.write(i);//1加到50 var num=0; for(var i=1;i&l ...

  8. javascript小程序——用嵌套循环来输出乘法口诀表

    在学习javascript过程中,一开始接触循环语句时一般拿乘法口诀表来练手,这里我将自己的练习贴在这里,希望能给和我一样的初学者些许帮助,也希望大神们能够不吝指教. 首先,来看一下乘法口诀表是什么样 ...

  9. Python打印乘法口诀表

    思路:第一行:1*1,第二行:1*2.,2*2,第三行:1*3,2*3,3*3-- 最后一行:1*9,2*9,3*9,-9*9,以此类推,可以设2个数:i,j:让 i 从1循环到9,让 j 从1到小于 ...

随机推荐

  1. 历时两年零三个月,从刚毕业的外包到现在的阿里P7offer,我只做了这几件事

    前言 最近,金九银十在即,很多人都在准备面试,特别给大家总结了 Java 程序员面试必备题,这份面试清单是我从 去年开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技 ...

  2. 凭借着这份Spring面试题,我拿到了阿里,字节跳动美团的offer!

      一般问题 1.1. 不同版本的 Spring Framework 有哪些主要功能?   1.2. 什么是 Spring Framework? Spring 是一个开源应用框架,旨在降低应用程序开发 ...

  3. CorelDRAW多个文件如何批量导出JPG

    好多同学对于CorelDRAW 2018批量导出图片格式的操作不太了解.这种情况比较常见,比如设计了一本画册,在同一个文档中页面比较多,如果一页一页导出那将是一项巨大的工程,这时候我们就会想到CDR的 ...

  4. 合并2个数组为1个无重复元素的有序数组--Go对比Python

    Go实现: 1 package main 2 3 import ( 4 "fmt" 5 "sort" 6 ) 7 8 func main() { 9 var a ...

  5. python3时间函数

    上一篇是生成测试报告的代码,如果重复运行测试报告名称相同会不停的覆盖,之前的测试报告也会丢失,无法追溯之前的问题.那么如何解决这个问题了呢? 首先想到的是用随机函数取随机名称,一旦生成的报告较多时,无 ...

  6. C++基础知识篇:C++ 运算符

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C++ 内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 本章将逐一介绍算术运 ...

  7. eNSP VLAN划分基础配置及Access接口

    交换机内实现VLAN通信拓扑图: 一.修改主机名并保存 1.进入系统视图模式(配置模式) <Huawei>system-view 2.sysname命令修改主机名为yanyuda [Hua ...

  8. 关于 [栈溢出后jmp esp执行shellcode] 原理分析

    原文地址:https://blog.csdn.net/lixiangminghate/article/details/53333710 正常情况下,函数栈分布图如下: 即,返回地址被改为一段缓存区的地 ...

  9. Spring Boot 项目瘦身指南,瘦到不可思议!129M->1.3M

    之前在 从使用传统Web框架到切换到Spring Boot后的总结 中提到关于 Spring Boot 编译打包,Spring Boot 应用程序不用额外部署到外部容器中,可以直接通过 Maven 命 ...

  10. hi-nginx-java的无配置路由配置

    hi-nginx-java既可以通过实现hi.servlet抽象来像Flask那样快速配置路由,例如: 1 hi.route r = hi.route.get_instance(); 2 r.get( ...