根据条件表达式的值确定下一步流程。条件表达式的值只要不是False 0 0.0 0j 空值None 空列表 空元组 空集合 空字典 空字符串 空range对象等其他空迭代对象。Python解释器都会认为与True等价。所有Python合法表达式都可以作为条件表达式。
Python条件表达式中不允许使用赋值运算符 =
Python 中的代码缩进非常重要,缩进是体现代码逻辑关系的重要方式,同一个代码块必须保证相同的缩进量。
if 表达式:
语句块
else:
语句块2
一个类似三元运算符的结构:
value1 if cindition else value 2
condition 为True时表达式为1,为False时表达式为value2
多分支结构:
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
:
:
else:
语句块 n
其中elif是 else if 的缩写
def func(score):
if score > 100:
return "分数不能大于100"
elif score >= 90:
return "分数等级A"
elif score >= 80:
return "分数等级B"
elif score >= 70:
return "分数等级C"
elif score >= 60:
return "分数等级D"
else :
return "挂科"
func(20)
b=func(85)
print(func(20))
print(b)
挂科
分数等级B
多层嵌套时候,严格控制不同级别的代码块缩进量
def fun(score):
degtee="ABCDE"
if score > 100 or score < 0:
print("请输入正确的分数范围")
else:
index =(score-60)//10
if ( index >= 0):
return degtee[index]
else:
return degtee[-1]
print(fun(50),fun(60),fun(70))
E A B
age = 24
subject = "计算机"
college= "非重点"
if(age > 25 and subject == "电子信息工程")or (college == "重点" and subject == "电子信息工程") or (age <= 28 and subject == "计算机"):
print("获得了面试机会")
else:
print("不可以面试")
获得了面试机会
#用户输入若干各个成绩,求所有成绩的平均分
#每次输入一个成绩之后询问是否继续输入回答yes 则继续输入
numbers = []
while True:
x=input("请输入一个整数")
try:
numbers.append(x)
except:
print("不是整数")
while True:
flag = input("继续输入吗?(yes no)")
if flag.lower() not in ("yes","no"):
print("只能输入yes或no")
else:
break
if flag.lower()=="no":
break
print(sum(numbers), len(numbers))
请输入一个整数20
继续输入吗?(yes no)yes
请输入一个整数50
继续输入吗?(yes no)yes
import time
date = time.localtime()
year,month,day =date[:3]
day_month=[31,28,31,30,31,30,31,31,30,31,30,31]
#一年中月份的列表
if (year%400==0)or (year %4==0 and year %100!=0) :
day_month[1] = 29 #是闰年则修改2月的天数
if month==1:
print(day)
else:
print(sum(day_month[:month])+day)
250