Python控制结构(二)
一、判断语句
1、布尔类型和比较运算符#
result = 10>5;
print("10>5:%s,result类型是%s"%(result,type(result)))
#输出
10>5:True,result类型是<class 'bool'>
2、if语句基本格式#
if 判断条件:
条件成立时执行
age=16;
if age>=16:
print("您已经是个成年人了")
3、if...else语句#
if 判断条件:
条件成立时执行
else:
条件不成立时执行
age=15;
if age>=16:
print("您已经是个成年人了")
else:
print("未成年,请勿接触")
4、if...elif...else语句#
if 判断条件1:
条件1成立时执行
elif 判断条件2:
条件2成立时执行
else:
条件1,2都不成立时执行
score=70;
if score>=90:
print("成绩优秀")
elif score>=60 and score<=90:
print("成绩良好")
else:
print("不及格")
5、判断语句的嵌套#
age = input("请输入年龄!")
if int(age)>=14:
height = input("请输入身高!")
if float(height)> 1.4:
print("项目可以玩")
else:
print("身高不够,玩不了")
else:
print("年龄不够不能玩")
6、案例#
BMI计算
weight,height = eval(input("请输入您的体重(kg)和身高(m)以,隔开:"))
BMI = weight / (height**2)
if BMI < 18.5 :
print("%.2f->超轻"%(BMI))
elif 18.5 <= BMI < 25.0 :
print("%.2f->标准"%(BMI))
elif 25.0 <= BMI < 30.0 :
print("%.2f->超重"%(BMI))
else :
print("%.2f->痴肥"%(BMI))
二、异常处理
try - except-(else)-(finally)
num = eval(input("请输入一个数作为除数"))
try:
# 尝试执行
print("6/%s结果为%.2f:"%(num,6/num));
except:
# 发生异常时候执行
print("除数不能为零")
else:
# 不发生异常时执行
print("6/(%s+1)结果为%.2f:"%(num+1,6/(num+1)));
finally:
# 最终执行
print("测试结束")
三、循环结构
1、for循环#
for <循环变量> in <遍历结构>:
<语句块>
从遍历结构中依次提前元素,放在循环变量中,然后执行语句块
"""
range(start, stop [,step]) ;
start 指的是计数起始值,默认是 0;
stop 指的是计数结束值,但不包括 stop ;
step 是步长,默认为 1,不可以为 0 。
range() 方法生成一段左闭右开的整数范围。
1)它表示的是左闭右开区间;
2)它接收的参数必须是整数,可以是负数,但不能是浮点数等其它类型;
3)它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但不能修改元素;
4)它是可迭代对象,却不是迭代器。
"""
print("\n-----遍历数字-----")
# 遍历数字
for i in range(1,10):
print(i,end=',')
print("\n-----遍历字符串-----")
# 遍历字符串
for c in "Python":
print(c,end=" ")
print("\n-----遍历列表-----")
#遍历列表
for item in [123,"Py",10.24]:
print(item,end=" ")
print("\n-----遍历文件-----")
#遍历文件,读取的是文件的每一行
f = open("test.txt","r",encoding="utf-8")
for line in f:
print(line)
2、while循环#
while <条件>:
<语句块>
s = "Python";
while s!="":
for c in s:
print(c,end=" ")
print("\n")
s = s[:-1]
3、循环控制保留字#
break
仅跳出当前最内层循环
continue
4、循环与else#
for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
while <条件>:
<语句块1>
else:
<语句块2>
ps:当循环没有被break语句退出时,执行else语句块(与异常处理时的else用法相似)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具