zoukankan      html  css  js  c++  java
  • Python的条件语句和循环语句

    一、条件语句

    1、if 判断语句

    语法

    if 要判断的条件:
      条件成⽴时,要做的事情
      ……
    else:
      条件不成⽴时,要做的事情
      ……

    代码的缩进为⼀个 tab 键,或者 4 个空格

    示例

    # 1. 输⼊⽤户年龄
    age = int(input("今年多⼤了?"))
    # 2. 判断是否满 18 岁
    if age >= 18:
      print("可以进⽹吧嗨⽪……")
    else:
      print("你还没⻓⼤,应该回家写作业!")
    # 3. 思考!- ⽆论条件是否满⾜都会执⾏
    print("这句代码什么时候执⾏?")

    注意:将数字型数据直接作为判断条件时,⾮0数即为True, 0为False

    num = int(input("请输⼊数字:")) 
    if num: 
        print("数字⾮0") 
    else:
        print("数字为0")

    ⼀对 if 和 else 可以让代码执⾏出 两种不同的结果

    但开发中,可能希望 并列的执⾏出多种结果,这时就可以使⽤ elif,语法如下
    if 条件1: 
        条件1满⾜执⾏的代码 
        …… 
    elif 条件2: 
        条件2满⾜时,执⾏的代码 
        …… 
    elif 条件3: 
        条件3满⾜时,执⾏的代码 
        …… 
    else:
        以上条件都不满⾜时,执⾏的代码
        ……

    二、循环

    1、while循环 

    循环的作⽤就是让 指定的代码 重复的执⾏

    while 循环最常⽤的应⽤场景就是 让执⾏的代码 按照 指定的次数 重复 执⾏

    语法:

    变量设置初始值 
    while 条件(判断 变量是否满⾜条件): 
        条件满⾜时,做的事情1 
        条件满⾜时,做的事情2 
        条件满⾜时,做的事情3 
        ...(省略)... 
        修改变量

    示例

    # 1. 定义重复次数计数器 
    i = 1 
    # 2. 使⽤ while 判断条件 
    while i <= 10000: 
        # 要重复执⾏的代码 
        print("媳妇⼉,我错了") 
        # 处理计数器 i 
        i = i + 1

    死循环:由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!

    2、Python 中的计数⽅法 

    常⻅的计数⽅法有两种,可以分别称为: 

    ⾃然计数法(从 1 开始)—— 更符合⼈类的习惯

    程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数

    因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则 循环 的计数都从 0 开始 

    示例:计算 0 ~ 100 之间 所有 偶数 的累计求和结

    i = 1 
    sum = 0 
    while i<=100: 
        if i % 2 == 0: 
            sum = sum + i 
            i+=1 
    print("1~100的累积和为:%d"%sum)

    3、break 和 continue 

    break 和 continue 是专⻔在循环中使⽤的关键字 

    break 某⼀条件满⾜时,不再执⾏循环体中后续重复的代码,并退出循环

    continue 某⼀条件满⾜时,不再执⾏本次循环体中后续重复的代码,但进⼊下⼀次循环判断 ,不退出循环

    注意:break在嵌套循环中,只对最近的⼀层循环起作⽤ 

    4、循环嵌套

    while 嵌套就是: while ⾥⾯还有 while 

    示例1:使⽤循环嵌套打印⼩星星

      知识点 对 print 函数的使⽤做⼀个增强 

      在默认情况下, print 函数输出内容之后,会⾃动在内容末尾增加换⾏ 

      如果不希望末尾增加换⾏,可以在 print 函数输出内容的后⾯增加 , end="" 

      其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容 

    语法格式如下: 

    # 向控制台输出内容结束之后,不会换⾏ 
    print("*", end="") 
    # 单纯的换⾏ 
    print("")

    end="" 表示向控制台输出内容结束之后,不会换⾏ 

    row = 1 
    while row <= 5: 
        # 假设 python 没有提供字符串 * 操作 
        # 在循环内部,再增加⼀个循环,实现每⼀⾏的 星星 打印 
        col = 1 
        while col <= row: 
            print("*", end="") 
            col += 1 
        # 每⼀⾏星号输出完成后,再增加⼀个换⾏ 
        print("") 
        row += 1

    结果

    *
    **
    *** 
    **** 
    *****

    示例2:九九乘法表

    字符串中的转义字符

       在控制台输出⼀个 制表符,协助在输出⽂本时 垂直⽅向 保持对⻬,但不会换⾏

       在控制台输出⼀个 换⾏符 

      制表符 的功能是在不使⽤表格的情况下在 垂直⽅向 按列对⻬⽂本

     代码如下:

    # 定义起始⾏ 
    row = 1 
    # 最⼤打印 9while row <= 9: 
        # 定义起始列 
        col = 1 
        # 最⼤打印 row 列 
        while col <= row: 
            # end = "",表示输出结束后,不换⾏ 
            # "	" 可以在控制台输出⼀个制表符,协助在输出⽂本时对⻬ 
            print("%d * %d = %d" % (col, row, row * col), end="	") 
            # 列数 + 1 
            col += 1 
        # ⼀⾏打印完成的换⾏ 
        print("") # ⾏数 + 1 
        row += 1

    5、for .. else 语法 

    在 Python 中,循环语句⽀持 else , 语法如下:
    for 变量 in 集合: 
        循环体代码 
    else:
        没有通过 break 退出循环,循环结束后,会执⾏的代码

    示例

    在 迭代遍历 嵌套的数据类型时,例如 ⼀个列表包含了多个字典 

    需求:要判断 某⼀个字典中 是否存在 指定的 值

      如果 存在,提示并且退出循环

      如果 不存在,在 循环整体结束 后,希望 得到⼀个统⼀的提示

    students = [ 
        {"name": "阿⼟", "age": 20, "gender": True, "height": 1.7, "weight": 75.0}, 
        {"name": "⼩美", "age": 19, "gender": False, "height": 1.6, "weight": 45.0}, 
    ]
    find_name = "阿⼟" 
    for stu_dict in students: 
        print(stu_dict) 
        # 判断当前遍历的字典中姓名是否为find_name 
        if stu_dict["name"] == find_name: 
            print("找到了") 
            # 如果已经找到,直接退出循环,就不需要再对后续的数据进⾏⽐较 
            break 
    else:
        print("没有找到") 
    print("循环结束")

    6、range

    返回一个对象,该对象根据步长从开始位置到结束位置生成一个整数序列,类似列表

    作用:配合for循环进行计数

    格式:range(开始位置,结束位置,步长) 左闭右开

    res = range(5) # 默认从0开始,结束位置不包含
    print(res)
    for i in res:
        print(i)

    结果:

    开始位置默认从0开始,所以range(5)与range(0,5)是一样的。步长默认为1,所以range(0,5)与range(0,5,1)是一样的。

    公式:下一个要生成的整数 = 当前整数 + 步长

    注意:

    步长如果为正值时,开始位置应该小于结束位置

    步长如果为负值时,开始位置应该大于结束位置

    使用:

    for i in range(10):
        print(i)

    三、随机数处理

    在 Python 中,要使⽤随机数,⾸先需要导⼊ 随机数 的 模块 —— “⼯具包”

    import random

    导⼊模块后,可以直接在 模块名称 后⾯敲⼀个 . 然后按 Tab 键,会提示该模块中包含的所有函数

    random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b

    例如:

    random.randint(12, 20) # ⽣成的随机数n: 12 <= n <= 20 random.randint(20, 20) # 结果永远是 20 
    random.randint(20, 10) # 该语句是错误的,下限必须⼩于上限
  • 相关阅读:
    什么是em?
    数据结构与算法:快速排序
    flex中flexshrink的理解
    前端的padding是参照父元素的宽度还是高度?
    子元素的border不能通过百分比设置的
    数据库去重的简易方法
    windows2003 iis6.0站点打不开,找不到服务器或 DNS 错误。
    常用WebServices返回数据的4种方法比较
    手机身份证IP地址开放接口(很实用哦)
    从创业失败中学到的七条教训
  • 原文地址:https://www.cnblogs.com/zwh0910/p/15245461.html
Copyright © 2011-2022 走看看