第五讲
1. 条件判断语句(if语句)
执行的流程:
- if语句在执行时,会先对条件表达式进行求值判断,如果为True,则执行if后的语句
如果为False,则不执行
语法: if 条件表达式 :代码块
- 代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执行要么都不执行
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束代码块就是⼀种为代码分组的机制
input() 函 数
- 该函数⽤来获取⽤户的输⼊
input()调⽤后,程序会⽴即暂停,等待⽤户输⼊
⽤户输⼊完内容以后,点击回⻋程序才会继续向下执⾏
⽤户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回
if-else语句
- 语法:if条件表达式:代码块
else:代码块
执行流程:if-else语句在执行时,先对if后的条件表达式进行求值判断。如果为True,则执行if后的代码块,如果为False,则执行else后的代码块
if-elif-else语句
- 语法:
if 条件表达式 :代码块
elif 条件表达式 : 代码块
elif 条件表达式 : 代码块
…
else :代 码 块 - 执⾏流程:
if-elif-else语句在执⾏时,会⾃上向下依次对条件表达式进⾏求值判
如果表达式的结果为True,则执⾏当前代码块,然后语句结束如果表达式的结果为False,则继续向下判断,直到找到True为⽌ 如果所有的表达式都是False,则执⾏else后的代码块
总结: if-elif-else中只会有⼀个代码块会执行
2. 循环控制
while语句
- 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环和 for循环
语法:
while 条件表达式 : 代码块
else:代码块
break和continue
- break 可以⽤来⽴即退出循环语句,包括else语句
continue ⽤来跳过当次循环
for循环遍历
-
for循环
通过for循环来遍历列表 -
语法
for 变量 in 序列(遍历的规则): 代码块 -
注意: for循环的代码块会执⾏多次,序列中有⼏个元素就会执⾏⼏次。每执⾏
⼀次就会将序列中的⼀个元素赋值给变量,所以我们可以通过变量来获取列表中的元素
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)
3. 循环嵌套
Python 语⾔允许在⼀个循环体⾥⾯嵌⼊另⼀个循环。
4. 作业
4.1 求1000以内所有的水仙花
for i in range(1,10):
for j in range(0,10):
for z in range(0,10):
if i**3+j**3+z**3==i*100+j*10+z:
print(i*100+j*10+z)
4.2 获取用户输入的任意数,判断其是否是质数?
x=int(input('请输入一个数'))
if x>2:
for i in range(2,x):
if x%i==0:
print('不是质数')
break
else: print('是质数')
elif x==2:
print('是质数')
else:print('不是质数')
4.3 猜拳游戏:
- 出拳 玩家手动输入,电脑随机
- 判断输赢:玩家获胜 电脑获胜 平局
from random import randint
x=int(input('请输入猜拳编号(1:石头 2:剪刀 3:布)'))
y=randint(1,3)
print(y)
if x==y:
print('平局')
elif x-y==1:
print('电脑胜利')
elif y-x==1:
print('玩家胜利')
elif x==3 and y==1:
print('玩家胜利')
elif x==1 and y==3:
print('电脑胜利')