文章目录
顺序语句
运行策略:从左到右, 从上到下
一、if 条件判断(分支语句)
根据程序满足不同条件下运行不同代码
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
#第一种
if <条件判断表达式>:
<这里的代码表示当上面条件成立的时候,运行的代码>
#第二种
if <条件判断表达式>:
<这里的代码表示当上面条件成立的时候,运行的代码>
else:
<条件不成立时运行的代码>
#第三种
if <条件判断表达式>:
<这里的代码表示当上面条件成立的时候,运行的代码>
elif <条件判断表达式2>:
<条件判断表达式2成立的时候,运行的代码>
elif <条件判断表达式3>:
<条件判断表达式3成立的时候,运行的代码>
...
else:#上面全不成立运行
if: 必须出现,只能出现一次
elif:可以没有,有几次都可以
else:可以没有,如果有只能出现一次
布尔类型和其他数据类型之间的转换关系
所有空值为假,其他为真
转换关系:凡是代表空的,就转换成假,否则为真
二、循环语句
根据条件满足,不断地运行某一段代码
2.1 for循环
for循环和编程语言中常见的循环不太一样,它实际上不是一个循环,而是一个遍历功能,会依次对一个可迭代的数据中的每一个数据进行操作.
在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环的格式
for 临时变量 in 你要进行遍历的变量:
循环满足条件时执行的代码
遍历的变量:有很多数据构成的变量,如列表、字符串等
2.2 range函数
生成线性序列
range(10) #该函数有惰性,不会全显示出来,这里表示0到9(左闭右开区间)
>>range(0, 10)
list(range(5))
>>[0, 1, 2, 3, 4]
list(range(0,50,5 ))
>>[0, 5, 10, 15, 20, 25, 30, 35, 40, 45]
#计算1到100
# 先定一个累加器
n = 0
for i in range(1, 101):
# 每次把遍历出来的i 的值 累加到 n 上面去
n += i
n
使用1-100中所有7的倍数的且为偶数的数字打印出来
for a in range(1,101):
if a %7 ==0 and a%2==0:
print(a)
>>14
28
42
56
70
84
98
2.3 while循环
while 条件表达式:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
…(省略)…
#打印-1到-20中所有3的倍数
i=-1
while i >=-20:
if i %3 ==0:
print(i)
i -= 1
>>-3
-6
-9
-12
-15
-18
2.4 break
退出本"层"循环(一般与if一起使用)
name = '我想要去打游戏,不想学习'
for i in name:
if i == ',':
break
print(i)
print('------')
>>我
------
想
------
要
------
去
------
打
------
游
------
戏
------
2.5 continue
结束本"次"循环
continue的作用:用来结束本次循环,紧接着执行下一次的循环
注意:
break/continue只能用在循环中,除此以外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起作用
提取个位数:取余10
提取百位数:整除100
提取十位数:1、整除10再取余10 2、取余100再整除10
练习 寻找水仙花数
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
for i in range(100,1000):
a=i%10
b=i%100//10
c=i//100
if a**3+b**3+c**3==i:
print(i)
>>153
370
371
407
for i in range(100,1000):
a=int(str(i)[0])
b=int(str(i)[1])
c=int(str(i)[2])
if a**3+b**3+c**3==i:
print(i)