程序组织结构:顺序结构、选择结构、循环结构,顺序结构即代码是按顺序从上到下运行。顺序结构相对好理解,下面主要说一下选择结构和循环结构。学而不思则罔,思而不学则殆,小题目测试有利于加强应用能力,本文最后有水仙花数的代码。
本文有四部分:
01 |
选择结构(if 结构) |
02 |
循环结构(while,for in结构) |
03 |
break、continue、else、pass介绍 |
04 |
水仙花数 |
选择结构
(1)单分支结构
结构大致如下,“else:……”可以没有,只有if。当条件表达式为真时,执行条件执行体。例如,“1==2”是False,布尔值为0,因此不会执行条件执行体,而是会执行else中的执行体,即“print('1不等于2')”。
if 条件表达式:
条件执行体
else:……
if 1==2:
print('1等于2')
else:
print('1不等于2')
(2)多分支结构
可以进行多次选择,除了第一个,之后的用elif,不过需要注意,这些分支并不是平行的,而是当前一个不执行的时候,才会继续向下。
if 条件1:
执行体1
elif 条件2:
执行体2
elif 条件3:
执行体4
……
elif 条件n:
执行体n
else:
(3)嵌套if结构
顾名思义,就是在条件执行体中再嵌套一个if,这个可以进行多次嵌套。比较简单,就不进行代码展示了。
(4)简写
单分支结构,if……else……,的简写形式,见下。当条件布尔值为真时,输出x,否则输出y。下面的例子,可以知道,print出的a应该就是0
x if 条件 else y
a=1 if 1==2 else 0
print(a)
循环结构
(1)while 结构
while循环结构见下,如果循环n次,那么需要进行n+1次判断,if只会判断一次。while循环结构需要四步:1.初始化变量;2.条件判断;3.执行循环体;4.改变变量。第四步需要格外注意,如果不对变量进行改变,很有可能会陷入死循环中。
变量初始化定义
while 条件判断式:
条件循环体
变量改变
(2)for in 结构
可迭代对象为列表、元组等;如果在循环体中不需要用到自定义变量,那么可以将自定义变量替换为“_”。
for 自定义变量 in 可迭代对象:
循环体
注:这两个结构同样可以进行多层嵌套来执行循环。
break\continue\else\pass
(1)break
break主要用于循环中,用于打破循环,不再执行循环;一般与 if 配合使用;当代码为多层嵌套,break在内存嵌套时,只能结束所在层的循环。
(2)continue
同样用于循环结构中,不过他是结束本次循环,进行下一次循环。与break有所区别,break相当于不让循环了,而continue是本次循环不用执行之后的东西了。同样的,continue也一般与 if 配合使用,且代码为多层嵌套,continue只能结束所在层的单次循环。
(3)else
else除了上述所讲在 if 选择结构的作用外,还可以出现在while,for in 循环结构中。当用在循环结构中时,如果在循环过程中,没有执行过break,那么就会执行 else 中的代码,反之则不会执行。
水仙花数
水仙花数的定义:一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
(1)思路一:将数用str()变为字符串,直接获取个位、十位、百位,获取出来的为字符,再用int()转换为数,之后再进行判断是否为水仙花数。获取所有水仙花数,代码见下:
a=100
while a<=999:
a=str(a) #将数转换为字符串
b=a[0] #将各个位数的数字提取出来,此时还是字符串
c=a[1]
d=a[2]
e=int(b)**3+int(c)**3+int(d)**3 #将各个位数变成数,并计算
if e==int(a): #判断是否为水仙花数,注意前面把a变成字符串了,因此这里需要再变成数
print(a)
a=int(a)
a+=1
(2)思路二:三位数对10取余,可以获得个位数;对100取余可以获得百位数;十位数可以将三位数整除10,再对10取余。
a=100
while a<=999:
b=a%10
c=a//10%10
d=a//100
e=b**3+c**3+d**3
if a==e:
print(a)
a+=1
学习python的第四天,感觉可以,冲[熊猫]
学习视频:花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)_哔哩哔哩_bilibili
往期:python运算符浅学
如若转载,请注明出处:https://www.vsaren.com/133715.html