• Python顺序、条件和循环


    顺序语句

    默认情况下,Python的代码执行顺序是按照从上到下依次执行的。比如:

    print('a')  # a
    print('b')  # b
    print('c')  # c
    
    • 1
    • 2
    • 3

    上述代码的执行结果一定是“abc”,而不会出现“bca”或“cba”等结果,这种按照顺序执行的代码就叫做顺序语句。

    条件语句

    语法格式

    标准格式

    条件语句的标准格式如下:
    在这里插入图片描述
    注意事项:

    • 条件表达式和else后面使用:作为结尾。
    • 对于多条件分支,不是写作else if,而是elif。
    • 命中条件后要执行的语句块,使用缩进来区分各个代码块。
    • Python当中的if语句也支持嵌套。

    代码示例:

    choice = input('你大学期间认真学习了吗?(输入1表示是,输入0表示否): ')
    if choice == '1':
        print('你将会考研顺利或找到一个满意的工作!')
    elif choice == '0':
        print('你将来会为此而后悔!')
    else:
        print('你的输入有误!')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    注意: input函数的返回值是字符串类型。

    简写格式

    条件语句的简写格式如下:
    在这里插入图片描述
    代码示例:

    a = 10
    b = 20
    # 单行if语句
    if a < b: print('a is less than b')
    # 单行if else语句(一个条件语句)
    print('a') if a < b else print('b')
    # 单行if else语句(多个条件语句)
    print('a') if a < b else print('=') if a == b else print('b')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    代码案例

    一、输入一个整数,判定是否是奇数。

    代码如下:

    a = int(input('请输入一个整数: '))  # 注意将输入的字符串转换成int类型
    
    if a % 2 == 1:
        print('这是一个奇数')
    else:
        print('这是一个偶数')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    说明一下: 在C/C++等其他某些语言中,负奇数取余后得到的是-1,但在Python中负奇数取余后得到的是1。

    二、输入一个整数,判定是正数还是负数

    代码如下:

    a = int(input('请输入一个整数: '))
    
    if a > 0:
        print('正数')
    elif a < 0:
        print('负数')
    else:
        print('0')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    三、判定年份是否是闰年

    代码如下:

    year = int(input('请输入一个年份: '))
    
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        print('闰年')
    else:
        print('平年')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    缩进和代码块

    Python中使用缩进来表示不同的代码块,不同级别的缩进,程序的执行效果是不同的。比如:

    # 代码1
    num = input('请输入一个整数: ')
    if num == '1':
        print('hello')
        print('world')
    
    # 代码2
    num = input('请输入一个整数: ')
    if num == '1':
        print('hello')
    print('world')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    代码说明:

    • 代码1中的两条打印语句都具有一级缩进,因此都属于if内的代码块。
    • 代码2中只有第一条打印语句具有一级缩进,第二条打印语句没有缩进,因此只有第一条打印语句属于if内的代码块。

    空语句pass

    Python语法规定,if语句、while语句、for语句、函数体、类定义等都不能为空,如果因为某些原因写了对应无内容的语句,就需要使用pass语句来避免语法报错。比如:

    if a < b:
        pass
        
    while a < b:
        pass
        
    for x in range(10):
        pass
    
    def func():
        pass
    
    class MyClass:
        pass
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    注意: 空语句pass并不会对程序的执行有任何影响,只是占个位置,保持Python语法格式符合要求。

    循环语句

    while循环

    语法格式

    while循环语句的语法格式如下:
    在这里插入图片描述
    注意事项:

    • 在条件表达式和else后面使用:作为结尾。
    • 命中条件后要执行的语句块,使用缩进来区分各个代码块。
    • Python当中的while循环也支持嵌套。
    • 在循环体当中使用break语句,可以跳出循环。
    • 在循环体当中使用continue语句,可以停止当前的迭代,并继续下一次迭代。
    • 如果使用了else语句,那么当循环条件不再成立时,会执行一次else代码块。

    代码案例

    一、打印1 - 10的整数

    代码如下:

    num = 1
    while num <= 10:
        print(num)
        num += 1
    
    • 1
    • 2
    • 3
    • 4

    二、计算1 - 100的和

    代码如下:

    sum = 0
    num = 1
    while num <= 100:
        sum += num
        num += 1
    print(f'sum = {sum}')  # 5050
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    三、计算5的阶乘

    代码如下:

    result = 1
    num = 5
    while num >= 1:
        result *= num
        num -= 1
    print(f'result = {result}')  # 120
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    四、求1! + 2! + 3! + 4! + 5!

    代码如下:

    sum = 0
    num = 1
    while num <= 5:
        factorResult = 1
        i = 1
        # 计算num的阶乘
        while i <= num:
            factorResult *= i
            i += 1
        sum += factorResult  # 将num的阶乘累加到sum中
        num += 1
    print(f'sum = {sum}')  # 153
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    for循环

    语法格式

    语法格式

    for循环语句的语法格式如下:
    在这里插入图片描述
    注意事项:

    • 可迭代对象包括列表、元组、字典、集合、字符串等。
    • 在可迭代对象和else后面使用:作为结尾。
    • 命中条件后要执行的语句块,使用缩进来区分各个代码块。
    • Python当中的for循环也支持嵌套。
    • 在循环体当中使用break语句,可以跳出循环。
    • 在循环体当中使用continue语句,可以停止当前的迭代,并继续下一次迭代。
    • 如果使用了else语句,那么当循环条件不再成立时,会执行一次else代码块。

    range函数

    range函数经常和for循环搭配使用,其可以返回一个数字序列(可迭代对象)。
    在这里插入图片描述
    参数说明:

    • 第一个参数代表的是数字序列的起始值,默认为0。
    • 第二个参数代表的是数字序列的结束值(不包括结束值)。
    • 第三个参数代表的是数字序列的增量值(步长),默认为1。

    range函数的三种使用方式:

    • range(end):返回的数字序列为1,2,3,…,end-1。
    • range(start, end):返回的数字序列为start,start+1,start+2,…,end-1。
    • range(start, end, step):返回的数字序列为start,start+step,start+2 × \times ×step,…,start+n × \times ×step。

    对于range函数的第三种使用方式,如果step的值为正数,那么start+n × \times ×step < end,如果step的值为负数,那么start+n × \times ×step > end。

    示例:

    range(10)         # 0,1,2,3,4,5,6,7,8,9
    range(1, 10)      # 1,2,3,4,5,6,7,8,9
    range(1, 10, 2)   # 1,3,5,7,9
    range(10, 1, -2)  # 10,8,6,4,2
    
    • 1
    • 2
    • 3
    • 4

    代码案例

    一、打印1 - 10的整数

    代码如下:

    for i in range(1, 11):
        print(i)
    
    • 1
    • 2

    二、打印2,4,6,8,10

    代码如下:

    for i in range(2, 12, 2):
        print(i)
    
    • 1
    • 2

    三、打印10 - 1的整数

    代码如下:

    for i in range(10, 0, -1):
        print(i)
    
    • 1
    • 2

    四、求1 - 100的和

    代码如下:

    sum= 0
    for i in range(1, 101):
        sum+= i
    print(f'sum = {sum}')  # 5050
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Windows配置SonarQube代码审查工具详细步骤(附带IDEA SonarLint插件使用)
    产品代码都给你看了,可别再说不会DDD(九):领域事件
    区块链交易所技术开发架构解析 交易所开发团队
    DJYOS开源往事二:DJYOS开源工作室时期
    (数据科学学习手札137)orjson:Python中最好用的json库
    redis 实现互相关注功能
    FPGA工程师面试——RTL知识
    【JAVA项目实战】【图书管理系统】书籍管理功能【Servlet】+【JSP】+【MySql】+【Ajax】
    Vivado Synthesis - getting a Segmentation fault after using up a lot of memory.
    Cadence OrCAD Capture 原理图中创建差分对约束的两种常用方法
  • 原文地址:https://blog.csdn.net/chenlong_cxy/article/details/127460733