Python入门(八)分支与循环

简介: 了解了基本语句,知道话可以怎么讲了,在以后的练习中,会比较容易看懂整个程序的框架,并且能对所练习的实例,举一反三,这样学习会事半功倍。

分支

先例

写一个程序,按百分制评等级:
[90,100]等级为A,
[80,90)等级为B,
[60,80)等级为C,
[0,60)等级为D,
当用户输入分数时,自动转换为ABCD的形式输出。

  • rank1.py
>>> score = int ( input ('Please Input the Score:'))
if score < 0 or score > 100:
    print ('Input Error!')
if 90 <= score <= 100:
    print ('A')
if 80 < score <90:
    print ('B')
if 60 < score <=80:
    print ('C')
if 0 <= score <=60:
    print ('D')

F5运行后,输入分数:
1

  • rank2.py
>>> score = int ( input ('Please Input the Score:'))
if score < 0 or score > 100:
    print ('Input Error!')
elif 90 <= score <= 100:
    print ('A')
elif 80 < score <90:
    print ('B')
elif 60 < score <=80:
    print ('C')
elif 0 <= score <=60:
    print ('D')

F5运行后,输入分数:
2

  • rank3.py
>>> score = int ( input ('Please Input the Score:'))
if score < 0 or score > 100:
    print ('Input Error!')
else:
    if 90 <= score <= 100:
        print ('A')
    else:
        if 80 < score <90:
            print ('B')
        else:
            if 60 < score <=80:
                print ('C')
            else:
                print ('D')

F5运行后,输入分数:

3

rank1 VS rank2 VS rank3

  • rank1的特点:不论程序执行到哪一步能满足条件,都会把整个程序都走一遍,再输出结果。
  • rank2的特点:只要程序执行到满足条件的那一步,就会终止程序输出结果,比rank1节省时间。
  • rank3的特点:与rank2的执行方式一样,只是运用了python中特有的elif语句,简洁明了!
    rank2体现了python中的缩进机制,完美的避开了,在其他语言中经常会掉的坑。

悬挂else

像C语言中有如下代码:

if (a > 0)
    if (b > 0)
        printf("^_^")
else
    printf("&-&");

请问else是和哪个if搭配的呢?对和第二个if搭配!
BUT,在大量代码面前,这种框架的关键字像沧海一粟,找起来很费劲。
所以,悬挂else的问题在python中完全不存在。


条件表达式(三元操作符)

  • 买家秀:
x,y = 1,2
if x < y:
    print('min =',x)
else:
    print('min =',y)

F5运行后得:
vs1

  • 卖家秀:
x,y =1,2
print('min =', x if x < y else y)

F5运行后得:
vs1
即使得到相同的结果,过程仍可能有很大的差别!
由上述对比可知,条件表达式的语法为:

x if 条件 else y

当条件为真时,程序将返回x的值,反之,返回y的值。

断言(assert)

>>> assert 1 > 2
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    assert 1 > 2
AssertionError

由此异常可知,关键字 assert 后的条件为假时程序便会产生AssertionError,所以说,当我们需要确保程序中的某一个条件一定为真才能让程序正常工作的话时,用assert在程序中置入检查点。


循环

while 循环

while 条件:
  循环体

只要条件为真,程序就会一直执行循环体。

while 1:
    str1=str(input("你现在有什么想法:"))
    print("原来你很",str1,"呀!")

4

for 循环

for 目标 in 表达式:
  循环体

目标是指变量,表达式可为序列,可以是列表也可以是字符串。

>>> players = ['网易云音乐','酷狗音乐','QQ音乐']
>>> for player in players:
    print ('安装:',player,len(player))

    
安装: 网易云音乐 5
安装: 酷狗音乐 4
安装: QQ音乐 4

for 与很多BIF连用时会实现各种各样的功能,这里以range([star,]stop[,step=1])为例:

>>> for i in range(1,10,2):
    print(i)

    
1
3
5
7

break和continue

  • 关键字break的作用是终止当前循环,跳出循环体。
>>> for i in '123456789':
    if i == '7':
        break
    print(i)

    
1
2
3
4
5
6
  • 关键字continue的作用是终止当前循环,开始下次循环。
>>> for i in '123456789':
    if i == '7':
        continue
    print(i)

    
1
2
3
4
5
6
8
9

需要注意,循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。

>>> for i in range(1,10):
    for x in range(2,i):
        if i % x == 0:
            print(i,'能分解成',x,'*',i//x)
            break
    else:
        print(i,'是质数!')

        
1 是质数!
2 是质数!
3 是质数!
4 能分解成 2 * 2
5 是质数!
6 能分解成 2 * 3
7 是质数!
8 能分解成 2 * 4
9 能分解成 3 * 3

END!

目录
相关文章
|
8天前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
71 1
|
25天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
164 1
|
16天前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
Python API接口实战指南:从入门到精通
|
8天前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
127 1
|
1月前
|
调度 数据库 Python
Python异步编程入门:asyncio让并发变得更简单
Python异步编程入门:asyncio让并发变得更简单
122 5
|
1月前
|
数据采集 存储 XML
Python爬虫入门(1)
在互联网时代,数据成为宝贵资源,Python凭借简洁语法和丰富库支持,成为编写网络爬虫的首选。本文介绍Python爬虫基础,涵盖请求发送、内容解析、数据存储等核心环节,并提供环境配置及实战示例,助你快速入门并掌握数据抓取技巧。
|
1月前
|
大数据 数据处理 数据安全/隐私保护
Python3 迭代器与生成器详解:从入门到实践
简介:本文深入解析Python中处理数据序列的利器——迭代器与生成器。通过通俗语言与实战案例,讲解其核心原理、自定义实现及大数据处理中的高效应用。
91 0
|
1月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
50 0
|
程序员 Python
6_python基础—循环(上)
6_python基础—循环
139 0
6_python基础—循环(上)
7_python基础—while循环应用1-100累加和
7_python基础—while循环应用1-100累加和
488 0

推荐镜像

更多