一.if语句
1.什么时候使用if语句
1.1.如果某一段代码需要在满足条件的时候才执行使用if语法
2.如何使用if语句的语法
2.1 if单分支结构 —— 满足条件执行某个操作,不满足就不执行
“”"
语法:
if 条件语句:
代码块(if语句内的代码)
其他代码(if外的代码)
说明:
1.if —— 关键字;固定写法
2.条件语句 —— 任何有结果的表达式(具体的数据、除了赋值语句以外运算表达式、函数调用表达式)
3.: —— 固定写法
4.代码块 —— 和if保存一个缩进的一条或者多条语句;需要在满足条件才会执行的代码
执行过程:
判断条件语句是否为True(如果不是布尔值就看条件语句结果的布尔值是否为True),为True就执行if内的代码块,否则不执行。
“”"
1.条件语句可以是除了赋值语句以外的任何表达式
if 100:
pass
if 'abc':
pass
if 100 + 200 / 4 > 240 or 100 < 500:
pass
##### 报错:
##### if num = 100:
##### pass
##### 报错:
##### num = 100
##### if num += 200:
##### pass
2.代码块和执行过程
print('==========分割线==========')
if 100 < 200:
print('=====')
print('+++++')
print('~~~~~')
练习:根据输入的数据值打印 偶数
num = int(input(‘请输入一个整数:’))
if num % 2 ==0:
print(‘偶数’)
if not num % 2:
print(‘偶数’)
if num % 2:
print(‘奇数’)
判断一个字符串是否是空串
str1 = ''
if str1:
print('不是空串!')
2.2 if双分支结构 —— 满足条件执行某个操作,不满足执行另外一个操作
“”"
语法:
if 条件语句:
代码块1(满足条件执行的代码)
else:
代码块2(条件不满足的时候执行的代码)
执行过程:
判断条件语句是否为True(如果不是布尔就转换成布尔),如果为True就执行代码块1,否则执行代码块2
“”"
练习:根据年龄的值打印 成年 或者 未成年
age = 16
if age < 18:
print('未成年')
else:
print('成年')
练习2:判断一个三位数是否是水仙花数(各位数的立方和刚好等于这个数本身),打印 是水仙花数 或者不是水仙花数
153 = 13 + 53 + 3**3
num = 153
g = num % 10
s = num // 10 % 10 # num % 100 // 10
b = num // 100
if g**3 + s**3 + b**3 == num:
print(num, '是')
else:
print(num, '不是')
2.3 if多分支结构 —— 根据不同的条件执行不同的操作
“”"
语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
....
else:
代码块N
执行过程:
先判断条件语句1是否为True,如果是True就执行代码块1,然后if语句结构直接结束;
否则就判断条件语句2是True,如果为True就执行代码块2,然后整个if语句结构直接结束;
否则就判断条件语句2是True,如果为True就执行代码块2,然后整个if语句结构直接结;
以此类推…
如果前面所有的条件语句都不成立,就直接else后面的代码块
“”"
练习:根据每个月的收入判断这个月的伙食
income = 50000
if income < 1000:
print('吃土')
elif income < 1500:
print('吃面')
elif income < 5000:
print('馒头')
elif income < 10000:
print('吃饭')
else:
print('吃鸡')
3.python中的三目运算符
“”"
1)c中的三目运算写法: ?:
表达式1?表达式2:表达式3 —— 判断表达式1的值是否为真(True),如果是整个运算的结果就是表达式2的值,否则整个运算的结果是表达式3的值
int age=18;
int result = age>=18?“成年”:“未成年”;
2)python中的三目运算符 —— 通过if、else来实现C中?:的功能
表达式2 if 表达式1 else 表达式3 —— 判断表达式1的值是否为True(真),如果是整个运算的结果就是表达式2的值,否则整个运算的结果是表达式3的值
“”"
age = 8
result = '成年' if age >= 18 else '未成年'
print(result)
score = 69
score = '及格' if score >= 60 else '不及格'
print(score)
4.1 if嵌套 —— 在一个if语句中嵌套其他的if语句
判断一个数是否是偶数,如果是打印’偶数’,否则打印’奇数’;然后再判断这个数是否能4整除,如果能打印4的倍数
m4 = 20
if m4 % 2 == 0:
if m4 % 4 == 0:
print('4的倍数')
else:
print('奇数')
print(m4)
二.for循环
1.for循环
“”"
语法:
for 变量 in 序列:
循环体
说明:
for - 关键字;固定写法
变量 - 可以是已经定义过的变量,也可以是没有定义过的变量(常用)
in - 关键字;固定写法
序列 - python中容器型数据类型的数据,例如:字符串、列表、元组、集合、字典、迭代器、生成器、range等
: - 固定写法
循环体 - 和for保持一个缩进的一条或者多条语句;需要重复执行的代码
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值执行一次循环体。
(for循环的次数和序列中元素的个数一样)
“”"
for num in 'abc':
print('===')
print(num)
执行过程:
“”"
num = 'a'; print('===');print(num) # num = a
num = 'b'; print('===');print(num) # num = b
num = 'c'; print('===');print(num) # num = c
“”"
2.range函数 - 产生数据序列
“”"
range(N) - 产生一个 0~N-1(0到N减一) 的数字序列(N是正整数)
range(M, N) - 产生一个 M~N-1(M到N减一) 的数字序列 (M,N都是整数;N > M)
range(M, N stpe) - 从M开始每次增加step产生下一个数字,到N前为止
“”"
##### range(N):
for x in range(4):
print('x:', x)
练习:print(’!!!’)执行10遍
for _ in range(10):
print('!!!')
##### range(M, N)
for y in range(10, 100):
print('y:', y)
for z in range(-100, -10):
print('z:', z)
##### range(M, N stpe)
for i in range(1, 13, 2):
print('i:', i)
##### 1,3,5,7,9,11
for j in range(10, 0, -1):
print('j:', j)
##### 10,9,8,7,6,5,4,3,2,1
练习:计算1+2+3+…+100的和
sum1 = 0
for num in range(1, 101):
sum1 += num # sum1 = sum1 + num
print(sum1)
"""
sum1 = 0
num -> 1,2,3,4...+100
num = 1; sum1 += num -> sum1 = sum1+num -> sum1=0+1
num = 2; sum1 += num -> sum1 = sum1+num -> sum1=1+2
num = 3; sum1 += num -> sum1 = sum1+num -> sum1=1+2+3
num = 4; sum1 += num -> sum1 = sum1+num -> sum1=1+2+3+4
......sum1=1+2+3+4...+100
print(sum1)
"""
练习:统计100 ~ 300 中能被3整除但是不能被4整除的数的个数
count = 0 # count用来保存最后的个数
for num in range(100, 301):
if num % 3 == 0 and num % 4 != 0:
# 满足条件的时候加1
count += 1
# print(num)
print(count)
一.while循环
1.while循环
“”"
语法:
while 条件语句:
循环体
说明:
while - 关键字;固定写法
条件语句 - 和if后面的条件语句要求一样,只要不是赋值语句就可以
: - 固定写法
循环体 - 和while保存一个缩进的一条或者多条语句;需要重复执行的代码
执行过程:
先判断条件语句是否为True,为True就执行循环体,执行完循环体再判断条件语句是否True,
为True又执行循环提,以此类推,如果判断条件语句的结果是False,循环结束。
“”"
while True:
input('请输入:')
num = 0
while num <= 5:
print('===')
num += 1
"""
num = 0
num <= 4 -> 0 <= 4 -> True: print('===');num += 1 -> num = 1;
num <= 4 -> 1 <= 4 -> True: print('===');num += 1 -> num = 2;
num <= 4 -> 2 <= 4 -> True: print('===');num += 1 -> num = 3;
num <= 4 -> 3 <= 4 -> True: print('===');num += 1 -> num = 4;
num <= 4 -> 4 <= 4 -> True: print('===');num += 1 -> num = 5;
num <= 4 -> 5 <= 4 -> False (循环结束)
“”"
练习1:编程实现不断从控制台输入数字,直到输入的数字是0就停止。
```python
num = 5
while num != 0:
num = int(input('请输入:'))
一.break、continue和 else
1.continue
continue是循环提中关键字,只能再循环中使用。
当执行循环体的时候,如果遇到了continue,当次循环结束,直接进入下次循环的判断
```python
for _ in range(5):
print('===')
continue
print('+++')
for x in range(10):
if x % 2:
continue
print(x)
"""
x = 0; if 0 % 0; print(x)
x = 1; if 1%2: continue
x = 2; if 2%2; print(x)
x = 3; if 3%2: continue
“”"
2.break
break也是循环体中的关键字,只能再循环体中使用
当执行循环体的时候,如果遇到break,整个循环直接结束
for _ in range(5):
print('===')
break
print('+++')
python中while正确打开方式
“”"
while True:
需要重复执行的操作
if 循环结果的条件:
break
“”"
while True:
v = input('请输入:')
if v == '0':
break
3.else
python中的for和while的完整结构是:for-else结构和while-else结构
“”"
for 变量 in 序列:
循环体
else:
代码块
2.while-else结构
while 条件语句:
循环体
else:
代码块
else后面的代码在循环执行过程中如果遇到了break不会执行,反之就会执行
"""
for _ in range(5):
print('===')
break
print('+++')
else:
print('else中的代码块')
num1 = 1
while num1 < 5:
print('===')
num1 += 1
if num1 == 3:
break
else:
print('while-else结构')