四时宝库

程序员的知识宝库

遇到Python嵌套不要怕,你足够认真,它就是纸老虎(14)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

欢迎和猫妹一起,趣味学Python。

今日主题

最近猫妹一直在练习Python编程,有些情况判断中有判断,循环中有循环,偶尔会出错。

猫爸说,这些内容叫嵌套,听起来吓人,其实很简单,只要你足够认真,它就是纸老虎。

if嵌套

我们知道,if语句有三种基本形式:

if 表达式:
代码块

if 表达式:
代码块 1
else:
代码块 2

if 表达式 1:
代码块 1
elif 表达式 2:
代码块 2
elif 表达式 3:
代码块 3
...//其它elif语句
else:
代码块 n

这 3 种条件语句之间可以相互嵌套。

所谓if嵌套,只是其表达式是一个if判断语句而已。

只要注意好缩进,理清关系即可。

我们做个习题,开车不喝酒,喝酒不开车,我们可以通过测量血液中酒精含量,看司机朋友有没有喝酒。


循环嵌套

循环嵌套,比if嵌套复杂一些。

毕竟,if属于分支,只要把分支整理清楚了就可以了。

循环嘛!

要执行一定次数,如果嵌套时,同时考虑外层和内层,很容易出错。

我们应该先考虑外层,再考虑内层。

考虑外层时,先不考虑内层。

考虑内层时,先不考虑外层。

比如我们常用的九九乘法表

我们先考虑外层,那就是一共九行,第一行到第九行乘数分别是1~9。

外层代码很简单:

我们再考虑内层,内层的等式数量不同,数量等于行数。

且每个等式都是从1*行数~行数*行数。

我们按照这个逻辑写代码:

100之内有哪些勾股数

还记得昨天的问题吗?

抛出个问题,100之内的数字,都有哪些数字可以构成直角三角形?

有了今天的复习,遇到嵌套不要慌,按逻辑分割功能,认真对待,各个击破就是了。

于是有了下面的代码:

很显然代码有些问题,数据有些重复。

比如(3,4,5)(3,5,4)(4,3,5)(4,5,3)(5,3,4)(5,4,3)其实是一组数组。

我们把只统计一次即可,我们在多次循环时,可以加判断。

比如i最大,j次之,k最小,顺便再统计有多少组数字符合该条件。


好了,我们今天就学到这里吧!

遇到嵌套不要怕,认真对待不要慌,它就是纸老虎!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接