选择与循环

一、条件表达式

算术运算符:+、-、*、/、//、%、**
关系运算符:>、<、==、<=、>=、!=
测试运算符:in、not in、is、is not
逻辑运算符:and、or、not,注意短路求值
位运算符:~、&、|、 ^、 <<、>>
条件表达式的结果:True False

  1. 逻辑运算符“and”和“or”以及关系运算符,具有短路求值或惰性求值的特点,只计算必须计算的表达式的值。
  2. 在选择和循环结构中,条件表达式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为与True等价。
  3. 在Python中,条件表达式中不允许使用赋值运算符“=”,避免了其他语言中误将关系运算符“==”写作赋值运算符“=”带来的麻烦,例如下面的代码,在条件表达式中使用赋值运算符“=”将抛出异常,提示语法错误

二、选择结构

1.单分支

if 表达式:
    语句块
if 90>100:
    print('a')
    print('b')
print('c')

2.双分支

if 表达式:
    语句块1
else:
    语句块2
a= ['1', '2', '3', '4', '5']
if a:
    print(a)
else:
    print('empty')
['1', '2', '3', '4', '5']

注意:Python还支持类似于java三元运算符的形式。
例:value1 if condition else value2

3. 多分支

if 表达式1:
    语句块1
elif 表达式2:
    语句块2
elif 表达式3:
    语句块3
else:
    语句块4
#关键字elif是else if的缩写

4.选择结构嵌套

if 表达式1:
    语句块1
    if 表达式2:
        语句块2
    else:
        语句块3
else:
    if 表达式4:
        语句块4
#注意:缩进必须要正确并且一致

三、循环结构

  1. for循环
    格式
for 取值 in 序列或迭代对象:
循环体
[else:
    else子句代码块]

注意:

  • for循环一般用于循环次数可以提前确定的情况,尤其是用于枚举序列或迭代对象中的元素。

  • 一般优先考虑使用for循环。

  • 若循环因为条件表达式不成立而自然结束,则执行else结构中的子句;如果因为执行了break语句导致的提前结束,则不执行else子句。

for循环实例

用户输入一个整型数,求该数的阶乘。如:3 = 3*2*1
num = int(input('num:'))
res=1
for i in range(1,num+1):
    res=res*i
print(num,res)
  1. while循环
    格式
while 条件表达式:
循环体
[else:
else子句代码块]

注意

  • while循环一般用于循环次数难以提前确定的情况,也可以用于循环次数确定的情况

  • 若循环因为条件表达式不成立而自然结束,则执行else结构中的子句;如果因为执行了break语句导致的提前结束,则不执行else子句。

实例

while循环来实现计算100以内所有奇数之和。
sum=0
n=99
while n>0:
    sum=sum+n
    n=n-2
print(sum)

四、break和continue语句

作用:

  • break语句在while循环和for循环中都可以使用,一般放在if选择结构中,一旦break语句被执行,将使得整个循环提前结束。

  • continue语句的作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环。

break实例

计算小于100的最大素数
for n in range(100,1,-1):
    for i in range(2,n):
        if n%i == 0:
            break
    else:
        print(n)
        break
97

continue实例

输出10以内的奇数
i=0
while i<10:
    if i%2 == 0:
        continue
    print(i,end=' ')
    i+=1
永不结束的死循环,Ctrl+C强行终止。
#改正后
i=0
while i<10:
    i+=1
    if i%2 == 0:
        continue
    print(i,end='')
    1,3,5,7,9
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒弎、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值