Python中程序控制语句

一.条件判断语句

1.1 布尔值

布尔值(bool)是一种只有两个值(True和False)的数值类型

条件判断表达式输出的结果是布尔类型

print(12*2>11*3)
print(12*2<11*3)

判断表达式是如下

类型运算符示例说明
比较运算==!=><>=<=x == 10age >= 18比较两个值的关系,返回 True 或 False
逻辑运算andornotx > 0 and x < 100not is_student组合多个条件,and(与)、or(或)、not(非)。优先级为not>and>or
成员判断innot in"apple" in fruits5 not in [1, 2, 3]检查元素是否在序列(列表、字符串、元组等)中。
身份判断isis notx is Nonea is not b判断两个变量是否引用同一个对象(内存地址相同)。
三目运算x if condition else y"及格" if score >= 60 else "不及格"简化 if-else,适合单行条件赋值。
链式比较a < b < c10 < num < 20连续比较多个值,相当于 a < b and b < c
布尔值判断bool()if not []:if name:空值(FalseNone0""[]{}())会被视为 False

1.2 if条件判断语句

if条件判断语句为

if 判断表达式:

        代码1

对if判断语句必须要有缩进(不论几个空格)不然程序会报错

a=[1,2,3,4]
i=2
if i in a:
    print(f'{i*2}')

1.3 多条件判断语句

在 Python 中,​多条件判断语句​ 通常使用 if-elif-else 结构,结合 ​逻辑运算符​(andornot)来实现复杂的条件判断。

if 条件1:
    # 条件1为 True 时执行
elif 条件2:
    # 条件2为 True 时执行
elif 条件3:
    # 条件3为 True 时执行
else:
    # 所有条件均为 False 时执行

   

n=int(input("请输入数量:"))
if n<2:
 cost=150*n
elif n>=2 and n<=4:
 cost=150*n*0.9
elif n>4 and n<=10:
  cost=150*n*0.8
else :
     cost = 150*n*0.7
print('总额为:',cost)

对于多个条件我们还可以在if语句中嵌套语句if语句

f=int(input('请输入成绩:'))
b=float(input('请输入出勤率:'))
if f >= 90 and b>60:
    if b >= 95:
        c = "A+"
    else:
        c = "A"
elif f >= 80 and b>60:
    c = "B"
elif f >= 60 or b>60:
    c='C'
else:
    c = "D"
print(c)

1.4 if-else 语句的复合写法

复合写法格式

表达式1 if 条件判断语句 else 表达式2

若条件判断语句满足执行表达式1否则执行表达式2

a=12
b=15
print(a if a>b else b)

二.循环语句

对于python,如果想多次执行同一个步骤,就需要利用循环语句for和while

2.1 for循环

对于for循环可以反复执行直到条件不被满足,for循环格式如下

for 变量 in 循环内容:

  代码块

和if结构相同的是代码块部分都需要缩进

对于循环内容需要是可迭代对象

  • 常见可迭代对象​:
    • 列表(list
    • 元组(tuple
    • 字符串(str
    • 字典(dict
    • 集合(set
    • 文件对象(file
    • 生成器(generator
    • range(start, stop, step)  生成 start 到 stop-1,步长为 step 的整数
b=[]#定义列表
for a in range(0,5):
    b.append(a*5)
print(b)

同样for循环也有符合用法

[表达式 for 变量 in 循环内容]

a =[a*2 for a in range(10)]
print(a)

2.2 while循环

和for循环不同的是在while循环中是根据条件判断表达式决定循环是否结束的(True执行,False结束)

使用形式如下

while 条件判断表达式:

        代码块

a,b = 0,1
while a<=100:
    print(a,end=",")
    a,b = b,a+b

2.3 循环嵌套

 对于循环结构我可以进行多层嵌套

嵌套循环的工作原理是:

  • 外层循环每执行一次,内层循环会完整地执行所有迭代
  • 内层循环可以访问外层循环的当前迭代变量

下面是个计时代码:

import time
c=0
while c<=24:
    for b in range(0,60):
        for c in range(0,60):
            print('\r{:02d}:{:02d}:{:02d}'.format(a,b,c),end="",flush=True)#强制立刻显示flush=True
            time.sleep(1)
    c+=1

2.4 break 和 continue

特性breakcontinue
作用完全终止循环跳过当前迭代
循环状态循环结束循环继续
典型用途满足条件时提前退出循环跳过不符合条件的迭代
嵌套影响只影响当前所在的循环

只影响当前所在的循环

for a in range(0,24):
    print(a,end=' 'if a!=23 else '\n')
for a in range(0,24):
    if a==15:
        continue
    print(a, end=' ' if a != 23 else '\n')
for b in range(0,24):
    if b==15:
        break
    print(b,end=' ')

三.异常处理语句

异常处理是编程中处理运行时错误的重要机制

下面是异常处理语句的格式

try:
    # 可能引发异常的代码块
except 异常类型1:
    # 处理异常类型1的代码
except 异常类型2:
    # 处理异常类型2的代码
常见异常类型:
  • ValueError:值错误
  • TypeError:类型错误
  • IndexError:索引错误
  • KeyError:键错误
  • FileNotFoundError:文件未找到
  • ZeroDivisionError:除零错误
while True:
    try:
        n=int(input('输入:'))
        a=10/n
        break
    except ValueError:
        print('不是整数')
    except ZeroDivisionError:
        print('不能为零')
print(a, end='')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值