05 条件控制语句
1. 条件判断语句(if语句)
- 执⾏的流程:
if语句在执⾏时,会先对条件表达式进⾏求值判断,
如果为True,则执⾏if后的语句
如果为False,则不执⾏
- 语法:
if 条件表达式 :
...代码块
- 代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么都不执⾏
- 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
- 代码块就是⼀种为代码分组的机制
num = 60
if num > 20:print('num比20大')
结果:num比20大
if True:
....print(123)
....print('haha')
....print('hello')
结果:
123
haha
hello
num = 22
if num > 20 and num < 40:
print('num比20大,比40小')
结果:num比20大,比40小
num = 22
if 30 < num < 40:
print('num比20大,比40小')
结果:(空)
2. input() 函数
- 该函数⽤来获取⽤户的输⼊
- input()调⽤后,程序会⽴即暂停,等待⽤户输⼊
- ⽤户输⼊完内容以后,点击回⻋程序才会继续向下执⾏
- ⽤户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回
例: 获取用户输入的用户名,如果用户名使python欢迎访问
username = input('请您输入:')
if username == 'python':
....print('欢迎访问')
结果:若输入python,则会输出欢迎访问,若输入其他,则不会输出任何。
3. if-else语句
- 语法:
if 条件表达式 :
....代码块
else :
....代码块
- 执⾏流程:
if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断 - 如果为True,则执⾏if后的代码块
- 如果为False,则执⾏else后的代码块
例:如果用户的工资大于2000 还可以了
value = int(input('请输入你的工资:'))
if value > 2000:
....print('还可以了')
else:
....print('你该加油了兄弟!!')
4. if-elif-else 语句
- 语法:
if 条件表达式 :
....代码块
elif 条件表达式 :
....代码块
elif 条件表达式 :
....代码块
... ...
else :
....代码块
- 执⾏流程: if-elif-else语句在执⾏时,会⾃上向下依次对条件表达式进⾏求值判断
- 如果表达式的结果为True,则执⾏当前代码块,然后语句结束
- 如果表达式的结果为False,则继续向下判断,直到找到True为⽌
- 如果所有的表达式都是False,则执⾏else后的代码块
- 总结: if-elif-else中只会有⼀个代码块会执⾏
value = 10000
if value >= 30000:
....print('有钱任性')
elif value >= 20000:
....print('有钱真好!')
elif value >= 10000:
....print('哥们也月薪上万了')
elif value >= 5000:
....print('工资还说的过去')
elif value >= 2000:
....print('能养活自己了')
else:
....print('老弟你该加油了!')
value = 3000
if value >= 2000 and value < 5000:
....print('能养活自己了')
elif value >= 5000 and value < 10000:
....print('工资还说的过去')
elif value >= 10000 and value <30000:
....print('哥们也月薪上万了')
else:
print('有钱任性')
练习一:根据指定的月份打印出所属的季节
3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季
month = 120
if month == 3 or month == 4 or month == 5:
....print(month,'春季')
elif month == 6 or month == 7 or month == 8:
....print(month,'夏季')
elif month == 9 or month == 10 or month == 11:
....print(month,'秋季')
elif month == 12 or month == 1 or month == 2:
....print(month,'冬季')
else:
....print('月份不存在')
month = 13
if month > 12 or month < 1:
....print('月份不存在') #先把不正确的月份排除
elif 3 <= month <= 5:
....print(month, '春季')
elif 6 <= month <= 8:
....print(month, '夏季')
elif 9 <= month <= 11:
....print(month, '秋季')
else:
....print(month, '冬季')
练习二: 我家的狗5岁了,5岁的狗相当于人类的年龄是多大呢?
狗的前两年的每一年相当于人类的10.5岁。然后每一年增加4岁
那么5岁的狗相当于人类的年龄就是 10.5 + 10.5 + 4 + 4 + 4 = 33
需求:获取用户输入的狗的年龄。然后提示人类的年龄是多大?如果用户输入的是负数提示错误信息
5. while语句
循环语句可以使指定的代码块重复指定的次数.
循环语句分成两种,while循环 和 for循环
语法:
while 条件表达式 :
....代码块
else:
....代码块
例:
while True: # 慎用,死循环
....print(1)
练习:求1 - 100所有的偶数之和
先找到100个数1 - 100
判断 判断哪些是偶数
求和运算
6. 循环嵌套
- Python 语⾔允许在⼀个循环体⾥⾯嵌⼊另⼀个循环。
- 语法:
while 表达式:
....while 表达式:
........代码块
....代码块
for 变量 in 循环规则:
....for 变量 in 循环规则:
........ 代码块
....代码块
练习1:打印如下一个图形
‘*****
’*****
‘*****
‘*****
‘*****
i = 0
while i < 5: # 外层循环控制图形的一个高度
....j = 0
....while j < 5: # 内层循环控制图形的一个宽度
........print('*',end='') # end='' 不换行
........j += 1
....print()
....i += 1
练习2:打印如下图形
‘*
**
‘***
‘****
‘*****
分析:
'* i = 0 j < 1 --> j < i + 1
** i = 1 j < 2 --> j < i + 1
*** i = 2 j < 3 --> j < i + 1
**** i = 3 j < 4 --> j < i + 1
***** i = 4 j < 5 --> j < i + 1
i = 0
while i < 5:
....j = 0
....while j < i + 1:
........print('*', end='')
........j += 1
....print()
....i += 1
练习3:打印如下图形
‘*****
‘****
‘***
**
‘*
分析:
***** i = 0 j < 5 --> j < 5 - i
**** i = 1 j < 4 --> j < 5 - i
'*** i = 2 j < 3 --> j < 5 - i
** i = 3 j < 2 --> j < 5 - i
'* i = 4 j < 1 --> j < 5 - i
i = 0
while i < 5:
....j = 0
....while j < 5 - i:
........print('*', end='')
........j += 1
....print()
....i += 1
练习4:打印99乘法表
结果:
作业1:求1000以内所有的水仙花数
指的是一个3位数 每个位数上的3次幂之和等于它本身
例如 1 ** 3 + 5 ** 3 + 3 ** 3 = 153
作业2:获取用户输入的任意数,判断其是否是质数?
什么是质数 只能够被1和它本身整除的数就是质数 2 3 5 7 11 ... 97 1不是质数
7. break和continue
-
break 可以⽤来⽴即退出循环语句,包括else语句
结果:1
-
continue ⽤来跳过当次循环
结果:
1
3
4
5
6
hello
网友评论