## 顺序结构
  - 按照从上到下的顺序,一条语句一条语句的执行,是最基本的结构

## 分支结构
  if condition:
    statement
    statement
    ...
  elif condition>:  
    statement
    statement
    ...
  else:
    statement
    statement
    ...
  - if 语句可以嵌套,但不推荐, 尽量保持代码简洁
  - Python没有switch-case语句
  - Python条件语句允许下列写法
    x = 10
    print(1 < x < 20) # -> True
    print(1 < x < 20 < 100) # -> True
  - 以下数据将被判定为False:
    False、None、0、0.0、""、[]、()、{}、set()

## 循环结构
  - 写循环程序时需要注意循环变量的初值,循环条件和循环变量的增量,三者共称为循环三要素
  - while循环
    count = 0 # -> 循环变量
    while count < 5: # -> 循环条件
    print(count, end=",") # -> 0,1,2,3,4,
    count += 1 # -> 循环变量的增量,对循环变量进行修改

  - for迭代
    - 在C或者Java等语言中,for循环将循环三要素结合在一行语句中:大概如下:
      for(int i = 0; i < 10; i++){循环体}
    - 但Python中的for循环相对而言更加简洁
      words = ["and", "or", "not"]
      for word in words:
        print(word, end=", ") # -> and, or, not,
    - 列表、元组、字典、集合、字符串都是可以迭代的对象

  - 对字典的迭代可以:
    a_dict = {"name": "Stanley", "age": "22"}
    for k, v in a_dict.items():
      print("{0}: {1}".format(k, v))
    # -> name: Stanley
      age: 22
  - 单独迭代字典的key或者value可以使用字典的keys()或values()函数

  - break关键字
    - 在循环体中使用break关键字,整个循环会立刻无条件停止
      count = 0
      while count < 5:
        if count == 2:
          break
        print(count, end=" ")
        count += 1

      # -> 0 1

      # -> 由于当count等于2时,进入if语句执行了break,所以循环结束,未完成的循环不再执行

  - continue关键字
    - 在循环体中使用continue关键字,此次循环无条件体停止,执行之后的循环

      for i in range(0, 5):
        if i == 2:
          continue
        print(i, end=" ")
      # -> 0 1 3 4
      # -> 当i等于2时进入if语句,执行continue,本次循环跳过,进入下一循环

  - 与循环一起使用else
    for i in range(0, 5):
      print(i, end=" ")
    else:
      print("循环结束")
    # -> 0 1 2 3 4 循环结束
    - 当循环完全结束后(不被break和cuntinue打断)执行else中的代码
    - else同样适用于while循环

  - 使用zip()并行迭代
    numbers = [1, 2, 3, 4]
    words = ["one", "two", "three", "four"]
    days = ["Mon.", "Tues.", "Wed.", "Thur."]
    for number, word, day in zip(numbers, words, days):
      print(number, word, day)
  输出:
    1 one Mon.
    2 two Tues.
    3 three Wed.
    4 four Thur.
  - zip()函数在长度最小的参数中的元素用完后自动停止,其他参数未使用的元素将被略去,除非手动扩展其他较短的参数长度
  - zip()函数的返回值不是列表或元组,而是一个整合在一起的可迭代变量
    list(zip(words, days))
    # -> [('one', 'Mon.'), ('two', 'Tues.'), ('three', 'Wed.'), ('four', 'Thur.')]

本文参考书籍:[美]Bill Lubanovic 《Python语言及其应用》

Python代码结构——顺序、分支、循环的更多相关文章

  1. 第十九节:Java基本数据类型,循环结构与分支循环

    基本数据类型 Java中的基本数据类型,有8种,在Java中有四种类型,8种基本数据类型. 字节 boolean 布尔型为1/8 byte 字节类型为1 short 短整型为2 char 字符型为2 ...

  2. Emu8086三种格式的代码-(顺序,分支,循环)

    这个学期准备考研,于是就没有怎么听别的课,现在临近期末,汇编成了个难题.下面是我学校的实验报告 做一个复习的记录吧,下面的代码都是在Emu8086上运行出来的代码 下面先介绍一下,汇编里面的格式问题 ...

  3. Day6 三种结构 顺序选择循环!

    顺序结构 从上到下依次执行,它是任何算法都离不开的一种基本算法结构. package com.xiaoming.struct;​public class ShunXuDemo {    public ...

  4. 【Learning Python】【第四章】Python代码结构(一)

    这一章的主旨在于介绍python的代码结构 缩进 在很多的编程语言中,一般{}用于控制代码块,比如以下的一段C代码 if(var <= 10) { printf("....." ...

  5. python 代码执行顺序

    Python代码在执行过程中,遵循下面的基本原则: 普通语句,直接执行: 碰到函数,将函数体载入内存,并不直接执行 碰到类,执行类内部的普通语句,但是类的方法只载入,不执行 碰到if.for等控制语句 ...

  6. Python代码的人机大战(循环嵌套)

    第一次动手写随笔,记录一下今早的1.5小时努力成果 题目是这样的 : 人和机器进行猜拳游戏写成一个类,首先选择角色:1 曹操 2张飞 3 刘备,然后选择的角色进行猜拳:1剪刀 2石头 3布 玩家输入一 ...

  7. python代码结构

    1. 使用#单行注释,使用'''...'''多行注释 2. 使用连接符\来把一行过长的代码分为多行 3. 用缩进来控制代码块,推荐使用PEP8缩进风格,即四个空格 4. if ...: elif... ...

  8. python语句结构(while循环)

    while循环 pythhon中while语句的一般形式 while 判断语句: 执行语句 i=0 sum=0 while i<=100: sum+=i i=i+1 print(sum) #运行 ...

  9. Python基础-python流程控制之顺序结构和分支结构(五)

    流程控制 流程:计算机执行代码的顺序,就是流程 流程控制:对计算机代码执行顺序的控制,就是流程控制 流程分类:顺序结构.选择结构(分支结构).循环结构 顺序结构 一种代码自上而下执行的结构,是pyth ...

随机推荐

  1. input type="image" 提交表单

    提到<input type="image"  />,说起来有些惭愧.之前的工作基本每周都要制作两到三个注册用户的网页.其中就用它提交表单. 那个时候我想当然的以为这是用 ...

  2. 集成Springboot+MyBatis+JPA

    1.前言 Springboot最近可谓是非常的火,本人也在项目中尝到了甜头.之前一直使用Springboot+JPA,用了一段时间发现JPA不是太灵活,也有可能是我不精通JPA,总之为了多学学Spri ...

  3. 网站架构:消息队列 Java后端架构

    2017-01-13  一.消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题.实现高性能,高可用,可伸缩和最终一致性架构.是大型分布式系统不可缺少的中间 ...

  4. 【干货】Html与CSS入门学习笔记9-11

    九.盒模型 与元素亲密接触 1.盒模型 css将每个元素都看做一个盒子,包括以下属性: 内容区content area:包含内容,内容可以决定大小,也可以自行设定宽度和高度.元素的width属性指定的 ...

  5. (一)JavaScript之[数据类型]与[对象]

    1].数据类型字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义 (Undefined). //极大或极小的数字可以 ...

  6. 如何解决ArcGIS Runtime SDK for Android中文标注无法显示的问题

    自10.2版本开始,我就一直被ArcGIS Runtime SDK for Android的中文标注无限困扰.无论是驻留于内存中的Graphic 的文本符号TextSymbol,还是新增的离线geod ...

  7. Vue.js-创建Vue项目(Vue项目初始化)并不是用Webstrom创建,只是用Webstrom打开

    我犯的错误:作为vue小白,并不知道还要单独去创建初始的vue项目,于是自己在webstrom中建了一个Empty Project, 在其中新增了一个js文件,就开始import Vue from “ ...

  8. 如何使用ABSL代码调用Web service

    需求:在C4C UI里创建web service(maintain ticket),然后通过ABSL代码消费. 1. 创建一个新的Communication Arrangement 基于Manage ...

  9. mysql主从分离

    1.工具: 两台机器 master:192.168.0.1 slave:192.168.0.2 2.master的配置 找到mysql的配置文件,一般centos的是/etc/my.cnf,ubunt ...

  10. 初识QT中的qDebug()

    首先在头文件中包含 #include<QDebug> 当开发者需要为一个装置.文件.字符串或者控制台,写出调试和跟踪信息时,该类被使用. 在需要使用的地方插入: qDebug(][]); ...