长春市建设工程信息网站,大连seo按天付费,短视频app推荐,网站怎么通过流量赚钱感受 首先#xff0c;得明确意识到这个问题#xff0c;就是我的循环结构学的一塌糊涂#xff0c;完全不能很好的使用这个循环来实现各种九九乘法表达输出#xff0c;这样的循环结构太差了#xff0c;还需要我自己找时间来补充一下循环的使用#xff0c;来拓宽自己的思考方…感受 首先得明确意识到这个问题就是我的循环结构学的一塌糊涂完全不能很好的使用这个循环来实现各种九九乘法表达输出这样的循环结构太差了还需要我自己找时间来补充一下循环的使用来拓宽自己的思考方向这是个不错的机会让我更加充分的体会循环的嵌套。 重点在写博客中对可迭代对象的求知欲不断的加深让我对于对象以及可迭代的认识更深了不得不说有时候还是得写出来才可以给予自己更加强大的欲望从而推动自己去不断认识更多这大概就是授之以欲。最神奇的就是我在思考python中索引的最大值的问题时我通过一系列的查询操作我更深入的理解了一遍数据结构python中数据类型的不同相应的内存也是不一样的列表在内存中以动态的数组形式存储数据它会去预留一定的内存空间出来这时候我就想到了sql的查询因为之前的学习如何优化MySQL性能我就想到了sql的查询在pymysql使用查询操作返回的值是元组的相应的元组在内存中的存储方式就是紧凑连续的这样才可以优化了系统的性能在这个过程中我又产生了一些问题就是数组是什么数组的存储方式是什么数组和什么有关系所以不得不说自己才是最好的老师
目录
感受
第一种九九乘法表
for循环嵌套实现
可迭代对象
while循环嵌套实现
while与for互相嵌套
第二种九九乘法表
for循环嵌套实现 while循环嵌套实现
while和for循环互相嵌套
第三种九九乘法表
for循环嵌套实现
while循环嵌套实现
for和while循环互相嵌套 第四种九九乘法表
for循环嵌套实现
while循环嵌套实现
for和while循环互相嵌套
总结 第一种九九乘法表
第一种循环结构是最常见的一种
首先根据图片要实现的效果去分析行与列之间的变化
for循环嵌套实现
for循环要求遍历对象为可迭代对象
可迭代对象
说到可迭代对象就不得不好奇秉持着不将就的原则老师耳提面命的话最终我想起来了好奇是真的从学习for循环到现在这段时间常常的听到最终还是克服了懒惰结果就是看了一堆c语言代码还完全看不懂我的水平还是太低了的去了解一下——可迭代对象。
嗯我去查了CPython关于可迭代对象的相关文档不出意外的就是完全看不懂最后交给ai看了一阵最后大概只知道了一点关于序列迭代器针对列表元组等序列类型的相关知识就是他这个迭代器有着相应的底层源码去实现它对序列的遍历以及记录相关的索引所以可以实现索引的相关的操作。
for i in range(1, 10):for j in range(1, i1):print(f{j}*{i}{i*j}, end\t) # 打印出来i*j的值每列之间存在四个空格print() # 每次结束第二个for循环就实现换行
while循环嵌套实现
i 1 # 设定计数器初始值为1行
while i 9: # 选定循环并确定循环条件j 1 # 设置计数器初始值为1列while j i: # 设置循环条件print(f{j}*{i}{i * j}, end\t) # 输出列乘行并使用制表符将他制成表格j 1 # 设置列的自增i 1 # 设置行的自增print() # 输出空实现换行
while与for互相嵌套
i 1
while i 9:for j in range(1, i 1):print(f{j}*{i}{i * j}, end\t)print() # 换行i 1
for i in range(1, 10):j 1while j i:print(f{j}*{i}{i * j}, end\t)j 1print() # 换行
这两种循环一起使用确实是有些不至于了。
甚至再去考虑其他的循环嵌套的形式比如多次的循环嵌套但是那么写明显不合理因为每次处理十个数字的话那要遍历的次数就是10*10*101000次对性能等的消耗绝对不低如果只是要实现九九乘法表的话这绝对就是传说中的史山代码了再去考虑它也就没有什么意义了。
第二种九九乘法表 for循环嵌套实现
for i in range(1, 10):print(( *8)*(9-i), end\t)for j in range(1, i 1):print(f{i}*{j}{j * i:2d}, end\t)print()
因为要实现从第一行开始的8个间距且每次减少一个间距所以需要使用第二行的代码让它用制表符以实现空格间距之后的打印值最后使用print让他在进行完行运算之后进行换行。 while循环嵌套实现
i 1
while i 9:j 1print(( *8)*(9-i), end\t)# print( * (9 - i), end)while j i:print(f{i}*{j}{i*j:2d}, end\t)j 1i 1print()
真是要把自己笑死了大脑疯狂运转想着为什么它没有实现控制台的后移想着我进行了*8和*9-i了结构那个字符串里面压根没有空格。
while和for循环互相嵌套
i 1
while i 9:print(( * 8) * (9 - i), end\t)for j in range(1, i 1):print(f{i}*{j}{i * j:2d}, end\t)print()i 1
for i in range(1, 10):j 1print(( *8)*(9-i), end\t)while j i:print(f{i}*{j}{i * j:2d}, end\t)j 1print()
发现就是他们两个互相嵌套的时候for和while的交换实质是同一种。
第三种九九乘法表 for循环嵌套实现
for i in range(9, 0, -1):for j in range(1, i1):print(f{j}*{i}{j*i}, end\t)print() 根据控制台输出的第一个式子观察列和行的情况确定谁不变从而设置循环条件。
while循环嵌套实现
i 9
while i 1:j 1while j i:print(f{j}*{i}{j * i:2d}, end\t)j 1i - 1print()
一开始我还设置的第二个循环是j9但是根据调试发现它在第二行会去8*9然后我就思考如果它要实现三角形的话那它的第二行的最后一个就必须不打印然后我就观察我的这两个计数器我就看出来了。
for和while循环互相嵌套
for i in range(9, 0, -1):j 1while j i:print(f{j}*{i}{j * i}, end\t)j 1print()
不得不说分别写了while和for之后他们两个结合起来使用可以说是游刃有余了
i 9
while i 1:for j in range(1, i 1):print(f{j}*{i}{j * i}, end\t)i - 1print() 第四种九九乘法表 for循环嵌套实现
for i in range(9, 0, -1):print(( *8)*(9-i), end\t)for j in range(1, i1):print(f{i}*{j}{i*j:2d}, end\t)print()
不得不说练多了就是有感觉现在做不出来的话就是调试的少 了多debug一下多看一下运行的过程就可以更轻松的获得解决思路。
while循环嵌套实现
i 9
while i 1:j 1print(( *8)*(9-i), end\t)while j i:print(f{i}*{j}{i * j}, end\t)j 1i - 1print()
非常轻松的就完成了修改出现问题1.计数器忘记控制使它始终变化 2.意外把计数器自增放到了打印的上方导致先执行了输出。3.忘记了要实现的九九乘法表是什么样的
for和while循环互相嵌套
for i in range(9, 0, -1):j 1print(( *8)*(9-i), end\t)while j i:print(f{i}*{j}{i*j:2d}, end\t)j 1print()
i 9
while i 1:print(( *8)*(9-i), end\t)for j in range(1, i1):print(f{i}*{j}{i*j:2d}, end\t)i - 1print()
总结 循环还有其他的什么函数、类、对象这些压根就不是听会的都得自己敲才能体会出来深处的知识总之循环以及条件语句这种需要控制的东西还是比较需要逻辑比较清晰的。
如有问题随时评论/私信感谢。