关系运算符

if 语句

实际应用中的程序,大多不是一撮而就的,而是根据条件不同存在很多分支。

最基本的条件分支结构是if...else...语句即如果。。。否则。。。

在python当中,if condition1:(注意最后的冒号:)称为“语句头”。冒号:之后另起一行缩进的是“语句体”,语句体的行数不限,但至少有一行,否则需要用pass填充(即什么也不做)。

缩进是Python复合语句的关键,初学者经常因缩进不当而导致报错。关于缩进的习惯可以分为两个派别:Tab党,和Space党,即用Tab键或空格键来控制缩进。(我本人常年坚持使用Tab)

if之后必须是一个布尔表达式(如 condition1),当它为 True 时,执行其对应的语句体(branch1),否则向下跳转到后一个语句头(elif)。如果所有的 if 都没有被满足,则执行最后一个 else对应的语句体。

每个if分支所属的程序体都需要缩进,否则会产生语法错误,这与C/C++/Java等使用大括号 {} 的语言不同。

其实我个人认为,使用大括号的代码可读性更高,而且不容易在传播过程中失真。

下面写一个小程序判断一个数是奇数还是偶数

循环

Python只支持两种循环:for 循环和 while 循环。

在语法结构上和 if/else 有些接近,比如语句头需要加冒号(:),语句体需要缩进。

for 循环

在上一课中,我们介绍过对字符串的in和not in运算符:in运算符并非字符串的专利,很多数据类型都具备这样的性质,可以作为“迭代器”。

迭代器

组成 for 循环的一个关键部分就是迭代器。最常用的迭代器其实是列表(list)。字典(dictionary)也可以作为迭代器,迭代对象就是(key)。

这些可以作为迭代器的数据容器,在之后的几节会详细介绍他们的属性,下面先来看一个简单的小例子:

迭代器共有4个元素,分别是4个汉字。for循环迭代了四次,每次取一个字,并执行print()函数。

range()函数

range()函数可以生成特定形式的数值迭代数列,经常配合 for 循环使用。range()读取三个参数,分别对应三种情况:

  • range(a):一个参数,这个参数就是数列的上限(开区间,不包含这个数本身),下限默认为0。

  • range(a, b):两个参数分别指定了上下限。下限(a)是闭区间,也包含在其中;而上限(b)则是开区间,不参与计算。

  • range(a, b, c):三个参数。第三个参数叫步长,前两个例子没有第三个参数,因此都是以默认值 1 为步长。本例中我们人为指定了步长。输出了 10 以内的偶数。值得再次提醒的是,这里的“10以内”不包括10。注意,如果 range(a, b) 的参数 a>b,那么返回的将是一个空数组

  • 如果步长为负数,会返回什么样的结果呢?

  • 看下图

while 循环

while 循环会持续反复执行循环内语句,直到condition == False。

每次执行语句之后,都会重新检查条件是否为真,如果为假则跳出循环。

下面出一个编程小练习:

找出 100 以内三的倍数,放入列表 numbers 中。

numbers = []

列表添加元素地方法是:numbers.append()

>>>> 编程区 <<<<

>>>> 编程区 <<<<

下篇文章我们公布答案。

人人都能学会的python编程教程4:关系运算符与循环相关推荐

  1. 人人都能学会的python编程教程(基础篇)完整版

    人人都能学会的python编程教程1:第一行代码 人人都能学会的python编程教程2:数据类型和变量 人人都能学会的python编程教程3:字符串和编码 人人都能学会的python编程教程4:关系运 ...

  2. 人人都能学会的python编程教程1:第一行代码

    前言 众所周知,现在IT行业很火,行业薪酬也很高,国家在2017年也发布了人工智能教育的推广计划,人人会编程的时代将要到来.不会编程.不懂编程可能有些跟不上时代的节奏,普通人不懂技术也许会觉得这个很难 ...

  3. python是人都能学会_人人都能学会的python编程教程15:高级特性2

    生成器 如果你想要一百万个数,而这些数里只有一百个数是你经常要用的,剩下的都几乎不怎么会用到,那么如果直接把这一百万个数全部放在list中是不明智的因为这会浪费较多存储空间,生成器就是为了解决这个问题 ...

  4. 人人都能学会的python编程教程3:字符串和编码

    字符串 在python3中已经全面支持中文. 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码.当Python解释器读取源 ...

  5. 人人都能学会的python编程教程15:高级特性2

    生成器 如果你想要一百万个数,而这些数里只有一百个数是你经常要用的,剩下的都几乎不怎么会用到,那么如果直接把这一百万个数全部放在list中是不明智的因为这会浪费较多存储空间,生成器就是为了解决这个问题 ...

  6. 人人都能学会的python编程教程11:定义函数

    定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_ ...

  7. 人人都能学会的python编程教程14:高级特性1

    切片 取一个list或tuple的部分元素是非常常见的操作.比如,一个list如下: L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] 第一个元素的索引 ...

  8. 小学生都能学会的Python基础语法——代码规范判断语句循环语句

    前言: Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异,在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 一.代码的执行 ...

  9. 人人都能学会的SHELL编程

    目 录 1. Shell入门简介 1 2. Shell编程之变量详解 4 3. If条件语句学习 7 4. 使用if条件语句编写MySQL备份脚本 10 5. IF条件综合Shell实战脚本编写 11 ...

  10. 人人都能学会的 Python 多线程指南!

    大家好,我是早起. 在 Python 中,多线程最常见的一个场景就是爬虫,例如这样一个需求,有多个结构一样的页面需要爬取,例如下方的URL(豆瓣阿凡达影评,以10个为例) url_list = ['h ...

最新文章

  1. 如何获取MDC产品文档
  2. 除了数据属性,Vue 实例还提供了一些有用的实例属性与方法。它们都有前缀 $,以便与用户定义的属性区分开来。
  3. 使用SoapUI调用安全WCF SOAP服务–第1部分,该服务
  4. 利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析
  5. ServiceComb java-chassis和CSE java-chassis的区别
  6. 消息中间件之ActiveMQ入门
  7. FCKEditor 验证为空需要点击两次提交按钮的问题
  8. TypeScript手册翻译系列4-模块
  9. PulseAudio多线程通信:pthread_cond_broadcast/pthread_cond_signal/pthread_cond_wait(九)
  10. Java从入门到精通第一版(Java基础)
  11. php支付接口要改动的参数,京东支付接口2.0PHP集成遇到的一些问题:所有参数必须是string!...
  12. matlab角度和弧度的互换_MATLAB弧度与角度转换 -
  13. 恒玉佳壬二酸使用方法,15壬二酸能帮助祛痘吗
  14. 小内存的iPhone的拯救手册:如何扩充iPhone的内存
  15. 洛谷-3373 【模板】线段树 2
  16. 销售即是一门艺术,更是一门科学?(一)
  17. 使用计算机需要准备硬件和什么,当个人计算机需要使用ADSL访问Internet时,所需的基本硬件设施是什么?...
  18. Python学习笔记(八)爬虫基础(正则和编解码)
  19. Python相关软件下载教程
  20. flutter学习记录

热门文章

  1. Flink DataStream 关联维表实战
  2. Apache Flink SQL概览
  3. eclipse下androidannotations开发环境搭建
  4. Android完美适配dimens.xml脚本
  5. 面试官:Java 反射是什么?我回答不上来!
  6. Google 再见 Java
  7. 吐血干货,直播首屏耗时400ms以下的优化实践
  8. Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!(又一篇万字长文)...
  9. 360胡宁:通往CTO的道路上就是四个字
  10. python判断丑数_LeetCode-python 264.丑数 II