Python基础学习(三)--分支,循环

本文详细介绍了Python中的顺序控制语句,包括单分支、双分支、多分支和分支嵌套结构,并通过实例展示了while循环的使用方法及其控制流程的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、顺序控制语句

(一)单分支结构

每个判断条件间没有关系,相互不影响。

salary=int(input("请输入你的工资:"))
if salary>=10000 and salary<20000:
    print('买辆迈腾')
if salary>=20000 and salary<30000:
    print('速腾')
if salary>=30000:
    print('买辆A6')
if salary<=3000:
    print('电动72 35v 50迈,续航:90')

注:条件表达式后面有‘:’,后面跟着代码块。python中的代码块是靠缩进表示的,一般缩进4个空格(即:一个tab键)

(二)双分支结构

两个条件之间是互斥关系,只可能进入一个分支。

score=int(input("请输入四级成绩:"))
if score<425:
    print("下次加油")
else:
    print("恭喜获得四级证书")

(三) 多分支结构

形如if…elif…elif…else…
elif可以有多个,else可以没有。同双分支结构一样,条件和条件之间是互斥关系,只可能进入一个分支。
先给出一段单分支代码:

score=int(input("请输入学习成绩:"))
if score>=90 and score<=100:
    print("优秀")
if score>=80 and score<90:
    print("良好")
if score>=70 and score<80:
    print("一般")
if score>=60 and score<70:
    print("及格")
if score<60:
    print("不及格")
print('结束'

上述代目段,若使用多分支结构可改为:

score=int(input("请输入学习成绩:"))
if score>=90 and score<=100:
    print("优秀")
elif score>=80:
    print("良好")
elif score>=70:
    print("一般")
elif score>=60:
    print("及格")
else:
    print("不及格")
print('结束')
连续比较

先给出使用逻辑运算符的代码,功能是判断大小写字母、数字、下划线和其他字符:

char=input('请输入一个字符:')
n=ord(char)
if n<=90 and n>=65:
    print('这是一个大写字母')
elif n<=122 and n>=97:
    print('这是一个小写字母')
elif char >= '0' and char <= '9':
    print('这是一个数字')
elif n == 95:
    print('这是一个下划线')
else:
    print('其他字符')

如果使用连续比较,上述代码可以改为:

char=input('请输入一个字符:')
n=ord(char)
if 65 <= n <=90:
    print('这是一个大写字母')
elif 97 <= n <= 122:
    print('这是一个小写字母')
elif '0' <= char <= '9':
    print('这是一个数字')
elif n == 95:
    print('这是一个下划线')
else:
    print('其他字符')

(四)分支嵌套结构

嵌套,也就是在分支结构中再套分支结构。

price=float(input('请输入西红柿单价:'))
num=float(input('请输入购买数量:'))
total=price*num
if total>=50:
    level=input('请输入vip级别:')
    if level == '1':
        total *= 0.8
        print('享受总金额打八折优惠,金额为:%.2f' % total)
    elif level == '2':
        total=int(total)
        total=total-total%10
        print('享受抹零优惠,金额为:%d' % total)
    elif level == '3':
        print('享受去小数优惠,金额为:%d' % total)
else:
    sex=input('请输入性别:')
    if sex == '男':
        print('赠送玩具劳斯莱斯一个')
    elif sex == '女':
        print('赠送小猫一只')

二、while循环

循环三大要点:
1.初始值
2.控制条件
3.步长
利用while循环求1-2+3-4…+99的值:

n = 1
sum = 0
while n < 100:
    if n % 2 == 0:
        sum -= n
    else:
        sum += n
    n += 1
print(sum)

在这段代码中:
初始值为1,要先在循环外面为变量赋初值。
控制条件为n<100,每执行完一次代码段都会以此为标准再判断一次。
‘n+=1’,步长为1。

应用

输入五个数字,求最大值:

i = 1
max = int(input('请输入一个数:'))
while i <= 4:
    data=int(input('请输入一个数:'))
    if data > max:
        max = data
    i += 1
print('最大值为:',max)
输出:
*
**
***
****
*****
i = 1
while i <= 5:
    j = 1
    while j <= i:
        print('*',end='')
        j += 1
    print()
    i += 1

三、break–中断循环

i=1
while i<=5:
    age=int(input('请输入年龄:'))
    if age<0:
        print('您输入的年龄有问题')
        break
    i+=1

四、continue–退出本次循环,进入下一次循环

跳过3的倍数输出:

i=1
while i<=10:
    if i%3==0:
        i+=1
        continue
    print(i)
    i+=1
应用

输入十个数,
如果输入的<18,不参加运算;
如果输入的>65,跳出循环;
求输入的年龄的平均值。

i=1
n=0
sum=0
while i<=10:
    age=int(input('请输入年龄:'))
    if age<18:
        i+=1
        continue
    elif age>65:
        break
    else:
        sum+=age
        i+=1
        n+=1
if n==0:
    print('无有效数据!')
else:
    print("平均值为:",(sum//n))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值