今日内容总结

——流程控制(if,while,for)

  • if:用来判断事物的对错、真假、是否执行。根据不同的情况判断,条件满足执行某条件下的语句

    • 语法结构(3种)

      # 第一种,只有if结构。条件表达式成立,执行代码块
      if 条件表达式:
      代码块 # 第二种,if……else……条件表达式成立,执行代码块1,否则执行代码块2
      if 条件表达式:
      代码块1
      else:
      代码块2 # 第三种,if……elif……else……
      # 如果条件表达式1成立,执行代码块1;不成立,判断条件表达式2,如果条件表达式2成立,执行代码块2,否则执行代码块3。其中,elif可以有多个。
      if 条件表达式1:
      代码块1
      elif 条件表达式2:
      代码块2
      else:aD
      代码块3
    • if的嵌套

      # 需求:溜达的时候,迎面走来个人,如果是个帅气的小哥哥,就上前要微信,否则就嫌弃地走掉。如果要到微信,就在一起散步,否则就回家撸猫
      gender = 'male'
      age = 21
      is_smart = True # 帅气的小哥哥
      is_success = True # 要到微信
      if gender == 'male' and 30 > age > 20 and is_smart:
      print("哈喽,小哥哥,加个微信呗")
      if is_success:
      print("那咱一起散步吧……")
      else:
      print("回家撸猫!")
      else:
      print("都没有帅气的小哥哥,回家回家!")
    • 关于if的习题

      # 给定一个不超过5位的正整数,判断其有几位
      num = input("请输入整数:").strip()
      num_int = eval(num)
      count = 0
      if num_int > 100:
      if num_int > 10000:
      count = 5
      elif num_int > 1000:
      count = 4
      else:
      count = 3
      else:
      if num_int > 10:
      count = 2
      else:
      count = 1
      print(f"您输入的是{count}位数")
  • while:条件判断,当符合条件,重复执行操作。注意条件的编写,防止陷于死循环

    • 语法结构(2种)

      # 第一种 while
      while 条件表达式:
      需重复执行的代码块 # 第二种 while + else
      while 条件表达式:
      需重复执行的代码块
      else:
      # 这个代码块是while中的操作正常结束后,才可以执行的代码。
      # 如果重复操作被break中断,此处代码不会被操作
      正常执行重复操作结束后,执行的代码块
    • while的嵌套

      """ 需求:登录认证
      1、输入账号、密码,登录成功,提示登录成功
      2、如果登录三次,账号密码都不对,锁定账号
      3、登录成功后,可以进行命令操作
      4、登录成功后,输入exit时,退出
      """
      user_name = "dawn" # 存储的用户名
      password = "1234" # 存储的密码
      count = 0 # 登录失败的计数器
      tag = True # 执行重复登录操作的条件 while tag:
      name_inp = input("Please input your name>>>:")
      pwd_inp = input("Please input your password>>>:")
      if user_name == name_inp and password == pwd_inp:
      print("登录成功")
      while tag:
      # 登录成功后,如果用户输入 exit 命令,退出操作,否则一直执行命令
      cmd = input(">>>:")
      if cmd == "exit":
      tag = False
      else:
      print(f"执行{cmd}命令")
      else:
      print("登录失败")
      count += 1 # 登录失败,计数器次数增加一次
      if count == 3:
      # 每次登录后,判断登录失败的次数是否等于3次,如果是,锁定账号,停止操作
      print("锁定账户")
      tag = False
    • 关于while的习题

      # 习题:任意输入一个不超过5位的正整数,依次输出个位、十位、百位、千位、万位的数字。思考:如果是依次输出万位、千位、百位、十位、个位的数字呢?
      num = input("请输入整数:").strip()
      num_int = eval(num)
      count = 0
      print(num_int)
      while True:
      print(num_int % 10)
      num_int = num_int // 10
      count += 1
      if num_int == 0:
      break
      print(f"你输入的位数是:{count}")
  • for:从一个可迭代的集合或对象中依次取出当中的元素,每取一个元素,执行一次操作,直到将集合或对象中的元素取完。(每次执行的操作是一样的,可跟元素无关,也可跟元素有关)。

    for是一种不依赖于索引的取值方式。

    • 语法结构(2种)

      # 第一种 for 元素 in 可迭代的集合或者对象:需执行的操作
      for element in iteration:
      需要执行的代码块 # 第二种 for + else
      for element in iteration:
      需要执行的代码块
      else:
      # 如果在取元素的过程中,被break中断,此处的代码不会被执行
      正常将集合或对象中的元素取完后,执行的代码块
    • for的嵌套

      # 打印九九乘法表
      for i in range(1, 10):
      for j in range(1, i + 1):
      print(f"{j}*{i}={i*j}", end="\t")
      print() for i in range(9, 0, -1):
      for j in range(1,i+1):
      print(f"{j}*{i}={j*i}", end="\t")
      print()
    • 关于for的习题

      """1、请实现以下图形的打印
      *
      ***
      *****
      *******
      *********
      """
      for i in range(1,6):
      for j in range(5 - i):
      print(" ", end="")
      for z in range(2*i-1):
      print("*",end="")
      print() line_str = input("请输入打印的行数:")
      line = int(line_str)
      for i in range(1, line+1):
      print(" " * (line - i),end="")
      print("*" * (i * 2 - 1))
  • continue:跳过当前循环,继续下一次循环

    # 请依次输出1,2,3,5,6,7(4不输出)
    count = 0
    while count < 7:
    count += 1
    if count == 4:
    continue
    print(count)
  • break:结束/中断本层循环

    # 依次输出1,2,3,遇到4就不再输出
    count = 0
    while count < 10:
    count += 1
    if count == 4:
    break

——内置方法(len和range)

  • len():获取长度

    • 数字类型的元素没有 len()
    • 字符串 str 获取的是字符串字符的个数
    • 列表 List 获取的是列表中元素的个数
    • 字典 dict 获取的是字典中键值对的个数
  • range():获取一个可迭代的集合

    • 在 python 2中,使用 range() 返回的是一个列表

    • 在python 3中,使用 range() 返回的是一个可迭代的集合

    • 使用方式有两种:

      • range(stop)

        for i in range(4):
        print(i)
        # 结果为:0,1,2,3

        根据结果可以看出range()默认是从0开始的,不包含4本身,典型的顾头不顾尾

      • range(start,stop[,step])

        for i in range(1,8,2)
        print(i)
        # 结果为:1,3,5,7

        根据结果可以知晓,start 表示取数的起始值,stop 表示终止值,step 表示步长,可以理解为每次取数时的累加值。其中[step]表示这个参数是选填,可以不使用,默认步长是1。

python基础-流程控制(if,while,for)的更多相关文章

  1. Python基础—流程控制

    一.Python流程控制 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和循 ...

  2. python基础-->流程控制-->分支结构-->单项分支-->双向分支

    # ###流程控制 ''' 流程:代码执行过程 流程控制:对代码执行过程的管控 顺序结构:代码默认从上到下依次执行 分支结构:对代码执行过程的管控 循环机构: while for ..in.... 分 ...

  3. python基础流程控制

    流程控制主要分为三大类: 1.if 判断语句 2.while 循坏语句 3.for 循坏语句 下面以举例说明: if 判断语句: user1 = 'seven' user2 = 'alex' pass ...

  4. Python基础 ----- 流程控制

    ------   条件判断 if 条件判判断语法: 条件判断注意: 1.由if 条件起始 2.关键字后面要加一个空格 3.条件后面接: 4.符合python代码缩进格式 5.条件判断可以有多种组合方式 ...

  5. 小白学 Python(8):基础流程控制(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. Python之流程控制——if...else...

    Python之流程控制--if...else... 一.流程控制 假如把程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分岔口.当遇到分岔口时,你得判断哪条岔路是你要走的路,如果我们想让程 ...

  7. Python之流程控制——while循环

    Python之流程控制--while循环 一.语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码. 例:写一个从0打印到10的程序 coun ...

  8. Java编程基础——流程控制

    Java编程基础——流程控制 摘要:本文主要介绍Java编程中的流程控制语句. 分类 流程控制指的是在程序运行的过程中控制程序运行走向的方式.主要分为以下三种: 顺序结构:从上到下依次执行每条语句操作 ...

  9. python之流程控制升级

    python之流程控制:if elif else  while  for 一.流程控制之if: 1.1为什要有if判断:让计算机能像人一样代替人类工作,那么计算机应该有对于事务的读错,真假,是否可行的 ...

随机推荐

  1. 使用sp_getAppLock引发的一个小问题

    这几天线上频繁报如下的错误:“无法释放应用程序锁(数据库主体: 'public',资源: 'aa'),原因是当前没有保留该应用程序锁.” 下面是写法: declare @result int; BEG ...

  2. 从React-Native坑中爬出,我记下了这些

    吐槽 如果React-Native是个人,我估计已经想要打死他了... 上一篇文章 当React开发者初次走进React-Native的世界 前言 最近因为业务需要,做了一些关于React-Nativ ...

  3. Python sys.setdefaultencoding('utf-8') 后就没输出

    为了解决Python的 UnicodeDecodeError: 'ascii' codec can't decode byte ,我们可以加入以下代码. import sys reload(sys) ...

  4. JS时间格式CST转GMT

    转换方法:JS 时间格式CST转GMT 时区和Date:Java中的Date和时区转换

  5. 色即是空,空即是色---java有关null的几件小事

    故事背景 ---摩诃般若波罗蜜多心经: 观自在菩萨,行深般若波罗蜜多时,照见五蕴皆空,度一切苦厄.舍利子,色不异空,空不异色:色即是空,空即是色.受想行识,亦复如是.舍利子,是诸法空相,不生不灭,不垢 ...

  6. [ASP.NET Core 3框架揭秘] 跨平台开发体验: Docker

    对于一个 .NET Core开发人员,你可能没有使用过Docker,但是你不可能没有听说过Docker.Docker是Github上最受欢迎的开源项目之一,它号称要成为所有云应用的基石,并把互联网升级 ...

  7. 利用procedure批量插入数据

    正文   要求在页面查询到5000条数据,为了方便插入,准备用shell脚本写curl命令调用自己写的代码接口,但是速度慢,而且写的时候遇到点儿小问题,故用sql语句写了这个功能   由于operat ...

  8. Java工程师学习指南(初级篇)

    Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  9. Kibana 快速入门教程

    欢迎关注笔者的公众号: 小哈学Java, 专注于推送 Java 领域优质干货文章!! 个人网站: https://www.exception.site/kibana/kibana-tutorial 什 ...

  10. PHP 插入排序 -- 希尔排序

    1.希尔排序 -- Shell Insertion Sort 时间复杂度:数学家正在勤劳的探索! 适用条件: 直接插入排序的改进,主要针对移动次数的减少,这取决于"增量队列"的取值 ...