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!

目录
相关文章
|
9天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
9天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
9天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
9天前
|
设计模式 缓存 开发框架
Python中的装饰器:从入门到实践####
本文深入探讨了Python中装饰器的工作原理与应用,通过具体案例展示了如何利用装饰器增强函数功能、提高代码复用性和可读性。读者将学习到装饰器的基本概念、实现方法及其在实际项目开发中的实用技巧。 ####
20 3
|
11天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
11天前
|
人工智能 数据挖掘 程序员
Python编程入门:从零到英雄
【10月更文挑战第37天】本文将引导你走进Python编程的世界,无论你是初学者还是有一定基础的开发者,都能从中受益。我们将从最基础的语法开始讲解,逐步深入到更复杂的主题,如数据结构、面向对象编程和网络编程等。通过本文的学习,你将能够编写出自己的Python程序,实现各种功能。让我们一起踏上Python编程之旅吧!
|
5天前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
15 0
|
程序员 Python
6_python基础—循环(上)
6_python基础—循环
106 0
6_python基础—循环(上)
7_python基础—while循环应用1-100累加和
7_python基础—while循环应用1-100累加和
383 0
|
Python
6_python基础—循环(下)
6_python基础—循环
119 0