条件运算符
- 语法: 语句1 if 条件表达式 else 语句2
- 条件运算符在执⾏时,会先对条件表达式进⾏求值判断 如果判断结果为True,则执⾏语句1,并返回执⾏结果 如果判断结果为False,则执⾏语句2,并返回执⾏结果
#例1 求a,b,c的最大值。
a = 100
b = 50
c = 400
m = a if a>b else b #如果a>b为True,则m=a;如果a>b为False,则m=b
n = m if m>c else c
print(n)
s = a if a>b and a>c else b if b>c else c
print(s)
运算符的优先级
#例2
a = 2 or 3 and 4 #and优先级高于or,先执行3 and 4,返回结果是4,在执行 2 or 4,执行结果为2,最后执行=即a=2
#例3
a = 3 and 1 or 4 #先执行3 and 1,返回 1;再执行 1 or 4,返回1,最后执行=即a =1.
运算符优先级表如下:
官方参考链接
流程控制语句
if语句
'''语法:(注意表达块前有缩进)
if 条件表达式:
表达块
'''
#例四
a = 1
if a>0:
a+=1
print(a) #2
- if语句在执⾏时,会先对条件表达式进⾏求值判断, 如果为True,则执⾏if后的语句 如果为False,则不执⾏.
- 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束。
- 代码块就是⼀种为代码分组的机制
input()函数
- 该函数⽤来获取⽤户的输⼊ input()调⽤后,程序会⽴即暂停,等待⽤户输⼊,⽤户输⼊完内容以后,点击回⻋程序才会继续向下执⾏,⽤户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回。
- input()括号内的字符串为提示
#例五
n = input('请输入:')
print(n)
if-else语句
'''语法:
if 条件表达式 :
代码块
else :
代码块
'''
#例六
a = 10
if a >11:
print(a,'大于11')
else:
print(a,'不大于11')
- if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断;如果为True,则执⾏if后的代码块;如果为False,则执⾏else后的代码块.
if-elif-else语句
'''
语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
else :
代码块
'''
#例七
try:
months=int(input('输入当前月份:'))
if months in (3, 4, 5):
print('%s属于春季' % months)
elif months in (6, 7, 8):
print('%s属于夏季' % months)
elif months in (9, 10, 11):
print('%s属于秋季' % months)
elif months in (12, 1, 2):
print('%s属于冬季' % months)
else:
print('没有此%s月' % months)
except :
print('请输入数字')
- if-elif-else语句在执⾏时,会⾃上向下依次对条件表达式进⾏求值判 断,如果表达式的结果为True,则执⾏当前代码块,然后语句结束;如果表达式的结果为False,则继续向下判断,直到找到True为⽌;如果所有的表达式都是False,则执⾏else后的代码块。
while语句
- 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环.
'''
语法:
while 条件表达式 :
代码块
else:
代码块
'''
#例八:1+2+3+...+10
i = 1
s = 0
while i<=10:
i+=1
s+=i
else:
print(s)
- 循环三要素:
- 初始化表达式
- 条件表达式用设置执行循环条件,满足条件则执行循环
- 修改初始化表达式的值。
例题
#例九。使用while打印1000以内所有的水仙花数,(每个位上数的三次幂相加等于该数即153 =1**3 + 5**3 +3**3 )
#1.初始化表达式
i = 100
#2.设置执行循环的条件
while i<1000:
a = i // 100 #百位数
b = i // 10 %10 #十位数
c = i % 10 #个位数
if a**3 + b**3 +c**3 == i: #是水仙花数的条件
print(i)
#3.更新初始表达式的值
i+=1
#例十
#使用while循环求通过用户输入的结果,判断是否是质数。
try: #确保输入的是数字,若输入不是数字不执行程序
num = int(input('输入数字:'))
if num >0 and num % 1 ==0: #判断输入数字是自然数
i = 2 #初始化表达式的值
while i < num//2 +1:
if num % i == 0: #是质数的条件
i = num #更新表达式初始值,退出循环
else:
i+=1 #更新初始表达式的值
else:
if i == num: #判断执行循环完成后的返回值
print(num,'不是质数')
else:
print(num,'是质数')
else:
print('输入数字必须是大于0的自然数')
except:
print('输入有误,请输入数字')