分支语句-if
单分支判断
age = 18
if (age>= 18):
print("您已经成年")
![](https://img-blog.csdnimg.cn/img_convert/41be88bec222a520322f48b5d0dc94c7.png)
缩进来确定分支的限定范围(对应的代码块)
双分支判断
age = 18
if (age >= 18):
print("您已经成年")
print("可以去上网")
else:
print("赶紧回家")
![](https://img-blog.csdnimg.cn/img_convert/f8a1d500a2cb8ccdd8d71a0e16554070.png)
例
score = int(input("请输入您的成绩(0-100):"))
if (100 >= score >= 90):
print("优秀")
elif (90 > score >= 80):
print("良好")
elif (80 > score >= 60):
print("及格")
else:
print("不及格")
注意
强制缩进
if 和else是按照缩进的位置进行匹配的
不要写太多嵌套语句
python中没有switch case
分支示例
print("欢迎使用体脂率计算小程序")
sex = input("请输入您的性别m or f ")
height = float(input("请输入您的身高(m)"))
weight = float(input("请输入您的体重(kg)"))
age = int(input("请输入您的年龄"))
if(sex == "m"):
sex = 0
else:
sex = 1
if not((sex == "m" or sex == "f") and (0 < height < 3) and (0 < age <150) and (0 < weight < 300)):
exit() #退出程序
BMI = weight / (height * height)
rate = (1.2*BMI + 0.23*age -5.4 - 10.8*sex)/100
print("BMI = {}".format(BMI))
print("体脂率 = {}".format(rate))
if (sex == 0):
print("女士您好",end = "")
if(0.25 < rate < 0.28):
print("恭喜您,身体非常健康,请继续保持")
elif(rate < 0.25):
print("请注意,您的身体偏瘦")
else:
print("请注意,您的身体偏胖")
else:
print("先生您好",end = "")
if(0.15<rate<0.18):
print("恭喜您,身体非常健康,请继续保持")
elif(rate < 0.15):
print("请注意,您的身体偏瘦")
else:
print("请注意,您的身体偏胖")
循环语句
基本用法示例
sum = 0
num = 0
while(num <= 10):
sum += num
num +=1
print("1-10的相加和为{}".format(sum))
while-else
sum = 0
num = 0
while(num <= 10):
sum += num
num +=1
else:
print("计算程序执行完毕")
print("1-10的相加和为{}".format(sum))
![](https://img-blog.csdnimg.cn/img_convert/755f80fd663441ea1715065d332a8b91.png)
*while 执行完之后便会执行else语句(有break的情况除外!
要注意防止死循环
没有类似于 do ... while语句
for 循环
更多用于遍历集合(有许多内容的数据结构 ,并不是集合类型
语法:for x in XXX:
循环语句
for i in range(10):
print(i)
a = "hello world"
for c in a: #c可以随意取名,简明易懂最好
print(c)
pets = ["dog", "cat", "sheep", "milk"]
for pet in pets:
print(pet)
![](https://img-blog.csdnimg.cn/img_convert/6a2b128f07e651d9c7362da28a695ac8.png)
for -else
pets = ["dog", "cat", "sheep", "milk"]
for pet in pets:
print(pet)
else:
print("打印完成")
![](https://img-blog.csdnimg.cn/img_convert/a1649e26e41c33672fc5933b57136d9e.png)
*for 执行完之后便会执行else语句(有break的情况除外!
例子
#实现字符串的反转
result = ""
a = "hello world"
for c in a:
result = c + result
print(result)
for i in range(1,101):
if i%2 == 0:
print(i," ",end = "")
![](https://img-blog.csdnimg.cn/img_convert/7db4f7fe05d3b3d7b578791f80c806a2.png)
循环打断
对else的影响
如果程序正常执行完毕,则会执行else
如果中途因为打断而退出循环,则不会执行else部分
break
打断本次循环,跳出整个循环
continue
结束本次循环,继续执行下次循环
例1
range(a,b) 则可以取到a~b-1的整数
for i in range(10):
print(i,end=" ")
print("")
for i in range(10):
if i == 6:
break
print(i,end=" ")
print("")
for i in range(10):
if i == 6:
continue
print(i,end=" ")
![](https://img-blog.csdnimg.cn/img_convert/cc9349dba2b83621e09057fa2bc00529.png)
例2
while(1):
num1 = float(input("请输入第一个数据:"))
num2 = float(input("请输入第二个数据:"))
result = num1 + num2
if(num1 > 100 or num2 >100):
print("输入数据不能大于100哟,请重新输入")
continue
print("加法的最终结果为",result)
isQ = input("是否想要退出,输入q即为退出")
if(isQ == 'q'):
break;
循环分支相互嵌套
循环内嵌套if
i = 1
while(i <= 100):
if i%3== 0:
print(i," ",end="")
i += 1
循环嵌套循环
for i in range(6):
for j in range(2):
print(j," ",end = "")
外层循环执行一次,内层循环执行全部
例子
九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(i, "*", j, "=", i*j, " ", end = "")
print("")
![](https://img-blog.csdnimg.cn/img_convert/79c6ccbd0406e2d703ec5de50b14feb9.png)
pass语句
概念
pass语句是空语句
一般不做任何事情,当作占位符
作用
保证程序结构的完整性
i = 10
if i>9:
pass
else:
pass #暂时占位 后面可以填充
案例
水仙花数
while(1):
num = int(input("水仙花数小程序,请输入三位数值:"))
if not(99 <num < 1000):
print("您输入的数据不符合要求,请重新输入")
continue
if (num == (num//100)**3 + ((num%100)//10)**3 + (num%10)**3):
print(num,"是水仙花数")
else:
print(num,"不是水仙花数")
break
猜数游戏
num = 500
count = 0
while(True):
guess = int(input("请输入你所猜的数据"))
count += 1
if(guess == num):
print("恭喜您,猜对啦!您总共猜了%d次"%count)
break
elif(guess <num):
print("您所猜测的数字偏小")
else:
print("您所猜测的数字偏大")
![](https://img-blog.csdnimg.cn/img_convert/8008c719f33b1a67649206beb9f4cd2a.png)