流程控制
条件判断
1.if语句
- 执行流程:
- if语句在执行时会先对表达式进行判断。
- 如果判断为True 则执行后面的语句
- 如果为False 则不执行
- 语法:if的条件表达式
代码块 - 代码块中保存着的一组代码,同一组代码块中的代码,要么都执行要么都不执行。
- 代码块以缩进开始,直到恢复到最初的缩进级别结束。
- 代码块就是一种分组机制
2.input函数
- input就是一种输入函数,用来获取用户的输入
- 当input被调用时程序会受到阻塞,暂停下来,等待用户输入。直到用户输入点击回车,程序才会继续进行。
- 用户输入完成后,其输入的内容会以返回值的形返回。
3.if-else语句
- 语法:if语句:
代码块
else:
代码块 - 执行流程:
- if-else语句在执行时,会先对if后面的表达式进行判断。
- 如果判断为True,则执行if后面的代码块。
- 如果判断为False,则执行else后面的代码块。
a=3
b=4
if a>b:
代码块
else:
代码块
4.if-elif-else语句
- 语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
…
else :
代码块
value = 1000
if value >= 30000:
print('有钱任性')
elif value >= 20000:
print('有钱真好')
elif value >= 10000:
print('哥也月薪上万了')
elif value >= 5000:
print('工资还说的过去')
elif value >= 2000:
print('能养活自己了')
else:
print('吃土吧!你')
- 执行流程:
- if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
- 如果表达式的结果为True,则执行当前代码块,然后语句结束
- 如果表达式的结果为False,则继续向下判断,直到找到True为止
- 如果所有的表达式都是False,则执行else后的代码块
- 总结: if-elif-else语句中只会有一个代码块会执行
循环语句
1.while语句
- 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
- 语法:
while 条件表达式 :
代码块
else:
代码块
2.break和continue
- break 可以用来立即退出循环语句,包括else语句
- continue 用来跳过当次循环
3.for循环遍历
- 通过for循环来遍历列表
语法
for 变量 in 序列(遍历的规则):
代码块
- 注意: for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素。
4.range(start, stop[, step])
- 参数说明
- ·start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
循环嵌套
- python语言许在一个循环体里面嵌入另一个循环。
while 表达式:
while 表达式:
代码块
代码块
注意:python中严格控制缩进,缩进不当会影响程序。
小练习
- 1.求1000以内的水仙花数。
for i in range(100,1000):
a=int(i/100)
b=int(i/10%10)
c=int(i%10)
if a**3+b**3+c**3==i:
print(i)
i+=1
- 2.用户输入数字判断是否为质数。
while True:
n=int(input('请输入:'))
if n<2:
print('不是质数')
break
else:
for i in range (2,n):
if n%i==0:
print('不是质数')
break
else:
print('是质数')
- 3.猜拳小游戏
import random
print('猜拳游戏')
i=int(input('请输入石头(0)、剪刀(1)、布(2):'))
y=random.randint(0,3)
while 0<=i<=2:
if y==0:
if i ==0:
print('平局')
elif i==1:
print('败北')
else:
print('胜利')
if y==1:
if i==0:
print('胜利')
elif i==1:
print('平局')
else :
print('败北')
if y==2:
if i==0:
print('败北')
elif i==1:
print('胜利')
else:
print('平局')
break
else:
print('输入错误')