if语句
语法:
if 条件表达式 :
语句块
执行流程:
if语句在执行时,会先对条件表达式进行求值判断,
如果为True,则执行if后的语句块
如果为False,则不执行
语句块中保存着一组代码,同一个语句块中的代码,要么都执行要么都不执行,语句块以缩进开始,直到代码恢复到之前的缩进级别时结束。
例、
i=input("please input a number:")
i=int(i)
if i>0:
print("你输入的整数大于0!")
print("此if语句到此结束!")
print("你输入一个整数是%d"%(i))
【特别提示,在Python3.7.4、3.8.3版本中测试发现,将i=input("please input a number:")改为i=input("请输入一个整数:"),有时不能输入负数,怪!】
运行结果如下图:
if-else语句
语法:
if 条件表达式 :
语句块
else :
语句块
执行流程:
if-else语句在执行时,先对if后的条件表达式进行求值判断
如果为True,则执行if后的语句块
如果为False,则执行else后的语句块
例、
age=int(input("请输入你的年龄(周岁):"))
if age>=18:
print("你年满18岁了。")
print("已是成年人呵!")
else:
print("你未年满18岁了。")
print("还是未成年人呵!")
运行结果如下图:
if-elif-else语句
语法:
if 条件表达式 :
语句块
elif 条件表达式 :
语句块
elif 条件表达式 :
语句块
........
else :
语句块
执行流程:
if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
如果表达式的结果为True,则执行当前语句块,然后语句结束
如果表达式的结果为False,则继续向下判断条件,找到True条件执行其后语句块,然后语句结束
如果所有的表达式都是False,则执行else后的语句块。
例、判断一个人的身材是否合理:
height = float(input("输入身高(米):"))
weight = float(input("输入体重(千克):"))
bmi = weight / (height * height) #计算BMI指数
if bmi<18.5:
print("BMI指数为:"+str(bmi))
print("体重过轻")
elif bmi>=18.5 and bmi<24.9:
print("BMI指数为:"+str(bmi))
print("正常范围,注意保持")
elif bmi>=24.9 and bmi<29.9:
print("BMI指数为:"+str(bmi))
print("体重过重")
else:
print("BMI指数为:"+str(bmi))
print("肥胖")
运行结果:
输入身高(米):1.6
输入体重(千克):60.5
BMI指数为:23.632812499999996
正常范围,注意保持
if语句嵌套
使用if进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用if 的嵌套,注意缩进搭配。例如,在最简单的 if 语句中嵌套 if else 语句,形式如下:
if 表达式 1:
if 表示式 2:
语句块
else:
语句块
条件语句嵌套的例子:判断闰年
year = int(input("输入一个年份: "))
if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print(year,"年是闰年") # 整百年能被400整除的是闰年
else:
print(year,"年不是闰年")
else:
print(year,"年是闰年") # 非整百年能被4整除的为闰年
else:
print(year,"年不是闰年")
运行结果:
输入一个年份: 2020
2020 是闰年
while循环语句
语法:
while 条件表达式 :
语句块
执行流程:
在条件语句(表达式)为True时执行其后语句块
While-else循环语句
语法:
while 条件表达式 :
语句块
else:
语句块
执行流程:
在条件语句(表达式)为True时执行其后语句块,为False时执行else后语句块
例:求1~100 中的所有奇数的和
sum = i = 0
while (2 * i + 1) <= 100: # 循环控制条件
sum = sum + 2 * i + 1
i += 1 # 等同于i=i+1
else:
print('循环结束后执行else')
print(sum)
break 结束循环,遇到break直接退出循环
continue 跳过当次循环,进入下一次循环
含break示例:
i = 0
while i <= 5: # 循环控制条件
if i == 3:
break # 结束循环
print(i)
i += 1 # 等同于i=i+1
输出结果:
0
1
2
输出结果到3就结束了,程序运行到break就结束整个循环。
含continue示例:
i = 0
while i <= 5: # 循环控制条件
i += 1
if i == 3:
continue # 跳过当次循环
print(i)
输出结果:
1
2
4
5
6
输出结果缺少了3,continue 结束了当次的循环,进入下一循环
while循环嵌套的例子:九九乘法表
i=1
while i<10:
j=1
while j<=i:
print("%d*%d=%2d"%(j,i,j*i),end=' ')
j+=1
print("")
i+=1
输出结果:
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for循环语句
语法:
for 变量 in 遍历对象:
语句块
执行流程:
遍历对象,如range() 函数、列表、元组、字符串等
for 循环依次将 遍历对象 中的数据取出赋值给 <变量>,再执行语句块——循环体。
例1、for 循环访问列表
list = ['张小明', '李萌萌', '王兵']
for name in list:
print(name)
输出结果:
张小明
李萌萌
王兵
说明: 这个变量是在 for 循环中定义的,意思是,依次取出 list 中的每一个元素,并把元素赋值给 name,然后执行for循环体。
例2、 for 循环访问字典
dict = {'张小明': 98, '李萌萌': 88, '王兵': 66}
for key, value in dict.items():
print(key, value)
输出结果:
张小明 98
李萌萌 88
王兵 66
例3、for 循环访问字符串
for char in 'An身高160cm':
print(char)
输出结果:
A
n
身
高
1
6
0
c
m
例4、使用range() 函数控制循环访问
range() 函数介绍
语法
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)
一个从1到20且相隔3的数字序列示例代码:
x = range(1, 20, 3)
for n in x:
print(n)
for-else循环语句
语法:
for 变量 in 遍历对象:
语句块
else:
语句块
执行流程:
遍历遍历对象,若无 break 结束当前循环,循环结束后执行 else后的语句块。
例
list = ['张小明', '李萌萌', '王兵']
for name in list:
print(name)
else:
print('循环结束后执行')
输出结果:
张小明
李萌萌
王兵
循环结束后执行
for 循环嵌套的例子:九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%2d"%(j,i,j*i),end=' ')
print("")
输出结果:
1*1= 1
1*2= 2 2*2= 4
1*3= 3 2*3= 6 3*3= 9
1*4= 4 2*4= 8 3*4=12 4*4=16
1*5= 5 2*5=10 3*5=15 4*5=20 5*5=25
1*6= 6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7= 7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8= 8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9= 9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81