一、if的语句及使用
知识点扩充:python中的分支结构只有if语句 ,没有switch
1.什么时候需要用到if语句(在需要满足某个条件的前提下)
2.怎么使用if语句
-
语法1:
if 条件语句:
代码段1 -
说明:
if - 关键字,是如果的意思 -
条件语句 --- 任意一个有结果的语句,最好结果是布尔,如果不是布尔,在返回结果时会转换成布尔
-
: --- 固定写法。在Python中,只要有冒号,冒号后面第一句必须有缩进,冒号缩进组合形成代码段,相当于其他语言中的大括号
代码段1 - 和if保持一个缩进的语句,可以是一行,也可以是多行
- 执行过程:先判断条件语句的结果是否为True,如果为True就执行代码段1,否则执行其他语句。
如果为False,就不执行代码段1,直接执行其他语句
age = 16
if age >= 16:
print('可以判死刑了!')
print('呵呵呵呵呵呵')
注意:和if保持同样缩进的语句要满足条件才会被执行,不在同一缩进的语句,即便不满足条件,也会被执行。
- 练习:输入一个数,如果这个数能够被3整除,就打印“这个数是3的倍数”
num = input('请输入一个整数:')
if int(num) % 3 == 0:
print('%d这个数是3的倍数!' % int(num))
结构2:if - else 结构
-
语法:
if 条件语句:
代码段1
else :
代码段2 -
说明:
else - 关键字,固定写法。相当于否则,不满足if条件的其他情况 -
执行过程:先判断条件语句是否为True,为True则执行代码段1,否则执行代码段2
- 练习:输入一个数,如果这个数是偶数就打印“xx是偶数”,不是就打印“这个数是奇数”
num1 = int(input('请输入一个整数:'))
if num1 % 2 == 0:
print('%d是偶数' % num1)
else:
print('%d是奇数' % num1)
- 练习:输入一个字符串,判断字符串的第一个字符是不是小写字母,如果是将字符串第一个字符转换成大写字母并打印,否则直接打印
str1 = input('请输入一个字符串:')
first_char = str1[0]
if 'a'<= first_char <= 'z':
print(first_char.upper() + str1[1:])
else:
print(str1)
结构3:if - elif - else
-
语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
...
else:
代码段n -
说明:
elif - 关键字:在前面条件不满足的情况下,判断其他条件是否满足 -
执行过程:先判断条件语句1是否成了,如果成立直接执行代码段1,然后整个if结构结束;如果不成立,直接判断条件语句二,如果成立整个if结构结束,若不成立则执行下一个条件语句,依次类推,直到整个if结构条件语句执行完之后直接执行else,整个if结构结束
注意:后面语句的判断都是在前面条件语句不成立的情况下执行的,根据情况后面的else结构可以没有
salary = 20000
if salary <= 5000:
print('买空调')
elif salary <= 10000:
print('买冰箱')
elif salary <= 15000:
print('买家具')
elif salary <= 20000:
print('买机车')
else:
print('想买啥就买啥')
-
练习:
欢迎XXX: 1. 添加学生 2. 查看学生 3. 修改学生信息 4. 删除学生 5. 返回
num2 = int(input('请输入功能键:'))
if num2 == 1:
print('请输入学生信息:')
elif num2 == 2:
print('正在查看学生信息!')
elif num2 == 3:
print('开始修改学生信息!')
elif num2 == 4:
print('正在对当前学生进行删除')
elif num2 == 5:
print('正在返回主页面!')
else:
print('请按照需要输入功能键!')
知识点补充:Python中可以使用三个双引号或者三个单引号将字符串括起来,表示一个字符串,在这种字符串中可以输入回车换行
- 例如:
str3 = '''
====================================
欢迎XXX:
1. 添加学生
2. 查看学生
3. 修改学生信息
4. 删除学生
5. 返回
======================================
print(str3)
1.if的嵌套
即在if结构中还可以使用if结构
注意:在else中也能嵌套if、elif、else
- 练习:
输入一个整数,判断他是否是偶数,如果是偶数的话就打印“xxx是偶数”,同时判断它是否能被4整除,如果可以就再打印“xxx还能被4整除”
num = int(input('请输入一个整数:'))
if num%2 == 0:
print('%是偶数' % num)
if num%4 == 0:
print('%d还能被4整除' % num)
else:
print('%d是偶数但不能被4整除' % num)
else:
print('%d是奇数' % num)
2.Python中的三目运算符
- C/Java/Js语言中有一个三目运算符: 表达式?值1:值2 --> 判断表示式值是否为True,为True整个表达式值为1
- python中的三目运算符: 值1 if 表达式 else 值2 --> 判断表达式的值是否为True,为True表达式值为值1,否则为值2
应用于根据某个条件是否成立,获取不同的值的时候
num1, num2 = 520, 1314
max = num1 if num1 > num2 else num2
print(max)
二、for循环
python支持的循环有两种,分别是for循环和while循环
1.for循环
-
语法:
for 变量 in 序列:
循环体 -
说明:
1. for - 关键字
2. 变量 - 变量名(可以是已经赋值过变量,也可以是新的变量,一般是新的变量)
3. in - 固定写法
4. 序列 - 属于序列的数据,Python中的序列有:字符串、列表、字典、集合、元祖、range、迭代器、生成器
5. : - 固定写法,有冒号的地方,下面就有缩进
6. 循环体 - 需要重复执行的代码;循环体需要和for保持同一个缩进 -
执行过程
让变量取序列中取值,一个一个的取,取完为止,每取一个值,执行一次循环体(序列中元素的个数决定了循环体执行的次数)
for char in 'chener':
print('520')
print(char)
- 练习:给一个字符串“hosee 23jh!hs89_=sssAsK”,统计出这个字符串中的数字的个数
count = 0
for char in 'hosee 23jh!hs89_=sssAsK':
if '0' <= char <= '9':
count += 1
print('这个字符串里面有%d个字符' % count)
- range函数
- range(数字) --- 产生数字序列 0 -- (N-1)(N必须为整数)
- range(M,N) --- 产生数字序列 M -- (N-1) (M,N必须是整数,N > M)
- range(M,N,step) --- 从M开始,每次值加step产生下一个数字,直到N前一个为止(M,N必须是整数,step>0,N>M;step<0,N<M)
for num2 in range(10):
print('num:', num2)
- 练习:统计100以内能被13或者7整除的数的和
sum1 = 0
for num3 in range(1, 100):
if num3 % 13 == 0 or num3 % 7 == 0:
sum1 += num3
print(sum1)
- 通过遍历字符串下标遍历字符串
str = 'chen er'
for index in range(len(str)):
print(str[index])
三、while循环
-
语法:
while 条件语句:
循环体 -
说明:
1. while - 关键字,当...的时候
2. 条件语句 - 和if后边的条件要求一样(除赋值语句不行外其他都可以)
3. 循环体 - 需要重复执行的语句写在循环体中,循环体和while保持缩进 -
执行过程
当程序执行到while循环,先判断条件语句是否为True,为True就执行一次循环体,执行完循环体之后再判断条件语句是否为True,以此类推,直到判断条件语句的结果为False循环结束
for循环和while循环的选择
for能做到的while都能做到,while能做到的循环for循环不一定能做到
-
使用for: 遍历序列、 循环次数是确定的
-
使用while: 死循环、 循环次数不确定
-
练习:录入学生的成绩,录入过程以输入“end”来结束成绩的录入
chengji = input('请输入成绩:')
while chengji != 'end':
chengji = input('请输入成绩:')
注册账号输入密码,直到输入密码合理为止(要求密码至少6位)
password = input('请输入密码:')
while len(password) < 6:
password = input('请输入密码:')
四、continue语句和break语句
- continue
- continue是Python中的关键字,只能用于循环体中
- 功能:当循环体执行到continue时结束当次循环,直接进入下次循环的判断(在for循环中相当于让变量去取下一个值;while循环中就是直接判断条件语句是否为True)
- break
-break是Python中的关键字,只能用于循环体中
-
功能:执行循环体的时候遇到break,循环直接结束,直接执行循环后边的其他语句
-
else在循环中的用法:
1.for循环中
for 变量 in 序列:
循环体
else:
代码段
2.while循环中
while 条件语句:
循环体
else:
代码段
1.求1到100之间所有数的和、平均值
for循环
sum = 0
for num in range(1, 101):
sum += num
num += 1
print('所有数的和为%d,平均值为%.1f' % (sum, sum/100))
while循环
num1 = 1
sum1 = 0
while num1 <= 100:
sum1 += num1
num1 += 1
print('所有数的和为%d,平均值为%.1f' % (sum1, sum1/100))
2.计算1-100之间能被3整除的数的和
for num2 in range(1, 101):
if num2 % 3 == 0:
sum2 += num2
num2 += 1
print('1-100之间能被3整除的数的和为%d' % sum2)
sum3 = 0
while num3 <= 100:
if num3 % 3 == 0:
sum3 += num3
num3 += 1
print('1-100之间能被3整除的数的和为%d' % sum3)
3.计算1-100之间不能被7整除的数的和
for num4 in range(0, 101):
if num4 % 7 != 0:
sum4 += num4
num4 += 1
print('1-100之间不能被7整除的数的和为%d' % sum4)
sum4 = 0
while num4 <= 100:
if num4 % 7 != 0:
sum4 += num4
num4 += 1
print('1-100之间不能被7整除的数的和为%d' % sum4)
网友评论