python学习笔记之流程控制语句

条件运算符

  • 语法: 语句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('输入有误,请输入数字')
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值