*/
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名:text.cpp
* 作者:常轩
* 微信公众号:Worldhello
* 完成日期:2016年7月18日
* 内容描述:Python知识点
* 程序输入:无
* 程序输出:见运行结果
*/

if语句

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现:

age = 20

if age >= 18:

print 'your age is', age

print 'adult'

print 'END'

注意: Python代码的缩进规则。具有相同缩进的代码被视为代码块,上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为
True,就会执行这个代码块。

缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

注意: if 语句后接表达式,然后用:表示代码块开始。

如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:

>>> age = 20

>>> if age >= 18:

...     print 'your age is', age

...     print 'adult'

...

your age is 20

adult

if-else

当 if 语句判断表达式的结果为 True 时,就会执行 if 包含的代码块:

if age >= 18:

print 'adult'

如果我们想判断年龄在18岁以下时,打印出 'teenager',怎么办?

方法是再写一个 if:

if age < 18:

print 'teenager'

或者用 not 运算:

if not age >= 18:

print 'teenager'

细心的同学可以发现,这两种条件判断是“非此即彼”的,要么符合条件1,要么符合条件2,因此,完全可以用一个 if ... else ... 语句把它们统一起来:

if age >= 18:

print 'adult'

else:

print 'teenager'

利用 if ... else ... 语句,我们可以根据条件表达式的值为 True 或者False ,分别执行 if 代码块或者 else 代码块。

注意: else 后面有个“:”。

if-elif-else

有的时候,一个 if ... else ... 还不够用。比如,根据年龄的划分:

条件1:18岁或以上:adult

条件2:6岁或以上:teenager

条件3:6岁以下:kid

我们可以用一个 if age >= 18 判断是否符合条件1,如果不符合,再通过一个 if 判断 age >= 6 来判断是否符合条件2,否则,执行条件3:

if age >= 18:

print 'adult'else:

if age >= 6:

print 'teenager'

else:

print 'kid'

这样写出来,我们就得到了一个两层嵌套的 if ... else ... 语句。这个逻辑没有问题,但是,如果继续增加条件,比如3岁以下是 baby:

if age >= 18:

print 'adult'else:

if age >= 6:

print 'teenager'

else:

if age >= 3:

print 'kid'

else:

print 'baby'

这种缩进只会越来越多,代码也会越来越难看。

要避免嵌套结构的 if ... else ...,我们可以用 if ... 多个elif ... else ...的结构,一次写完所有的规则:

if age >= 18:

print 'adult'elif age >= 6:

print 'teenager'elif age >= 3:

print 'kid'else:

print 'baby'

elif 意思就是 else if。这样一来,我们就写出了结构非常清晰的一系列条件判断。

特别注意: 这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。

for循环

list或tuple可以表示一个有序集合。如果我们想依次访问一个list中的每一个元素呢?比如 list:

L = ['Adam', 'Lisa', 'Bart']

print L[0]

print L[1]

print L[2]

如果list只包含几个元素,这样写还行,如果list包含1万个元素,我们就不可能写1万行print。

这时,循环就派上用场了。

Python的 for 循环就可以依次把list或tuple的每个元素迭代出来:

L = ['Adam', 'Lisa', 'Bart']for name
in L:

print name

注意:  name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)。

这样一来,遍历一个list或tuple就非常容易了。

while循环

和 for 循环不同的另一种循环是 while 循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。

比如要从 0 开始打印不大于 N 的整数:

N = 10

x = 0while x < N:

print x

x = x + 1

while循环每次先判断 x < N,如果为True,则执行循环体的代码块,否则,退出循环。

在循环体内,x = x + 1 会让 x 不断增加,最终因为 x
< N 不成立而退出循环。

如果没有这一个语句,while循环在判断 x < N 时总是为True,就会无限循环下去,变成死循环,所以要特别留意while循环的退出条件。

break退出循环

用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。

比如计算1至100的整数和,我们用while来实现:

sum = 0

x = 1while
True:

sum = sum + x

x = x + 1

if x > 100:

break

print sum

咋一看, while True 就是一个死循环,但是在循环体内,我们还判断了 x > 100 条件成立时,用break语句退出循环,这样也可以实现循环的结束。

continue继续循环

在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。

假设我们已经写好了利用for循环计算平均分的代码:

L = [75, 98, 59, 81, 66, 43, 69, 85]

sum = 0.0

n = 0for x
in L:

sum = sum + x

n = n + 1

print sum / n

现在老师只想统计及格分数的平均分,就要把 x < 60 的分数剔除掉,这时,利用 continue,可以做到当 x < 60的时候,不继续执行循环体的后续代码,直接进入下一次循环:

for x in L:

if x < 60:

continue

sum = sum + x

n = n + 1

多重循环

在循环内部,还可以嵌套循环,我们来看一个例子:

for x
in ['A', 'B', 'C']:

for y
in ['1', '2', '3']:

print x + y

x 每循环一次,y 就会循环 3 次,这样,我们可以打印出一个全排列:

A1

A2

A3

B1

B2

B3

C1

C2

C3

Python——3条件判断和循环的更多相关文章

  1. Python之条件判断和循环(入门4)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6407755.html 本文出自:[Edwin博客园] Python之条件判断和循环 1. Python之if ...

  2. python之--条件判断和循环

    Python之判断 和其他语言一样,python同样具有条件判断和循环的操作,比如我们可以编写一个简单的判断操作:使用if关键字可以达到判断的效果,如下例: >>> test_if ...

  3. python之条件判断、循环和字符串格式化

    1. python的条件判断:if和else 在条件判断中可以使用算数运算符 等于:== 不等于:!= 大于:> 小于:< 大于等于:>= 小于等于:<= 示例1: usern ...

  4. python(1) - 条件判断和循环

    条件判断: 比如输入用户年龄,根据年龄打印不同的内容,在python中用if语句实现: age = 20 if age >= 18: print('你可以看这个视频!') 可以给if加一个els ...

  5. 复习python(条件判断、循环、字符串格式化)

    1.条件判断: 只有一种 if: *** elif:#多个条件加elif,想加几个加几个 **** else: **** python里靠缩进来表示表示语句块,见到冒号,下行就要缩进 2.循环 两种, ...

  6. Python基础(条件判断和循环) if elif else for while break continue;

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age = 20 if age >= ...

  7. python基础----条件判断与循环

    一.python数据类型 1.整数(包括整数.负数) 2.浮点数(小数) 3.字符串(需要用单引号‘’或双引号“”括起来) 注:当字符串中含有单引号时,用双引号括起来(now="let's ...

  8. Python的条件判断与循环

    1.if语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下 if condition: blockelif condition: block...else: ...

  9. Python基础 条件判断和循环

    pyhton if 语句 if 语句后接表达式,然后用: 表示代码块. age = 20 if age >= 18: print 'your age is', age print 'adult' ...

随机推荐

  1. springboot的linux-docker部署

    将springboot jar应用打包成镜像并在docker运行成容器 https://blog.csdn.net/keepd/article/details/80569797 Docker安装(De ...

  2. selenium自学记录2014.12.26

    现在还是有点病急乱投医的感觉,不知道到底该从何学起,到底怎么学 手头上有的资料是 <零成本实现Web自动化测试-基于Selenium和Bromine> <Selenium测试实践-基 ...

  3. 包-logging-hashlib-深浅拷贝

    一.包: 包的本质就是一个模块 什么是包:它是一系列模块文件的结合体,表示形式就是一个文件夹,该文件夹内部通常会有一个__init__..py的文件 导入包的过程:先产生一个执行文件的名称空间 1:创 ...

  4. 【二进制枚举+LCS】Card Hand Sorting

    [二进制枚举+LCS]Card Hand Sorting 题目描述 When dealt cards in the card game Plump it is a good idea to start ...

  5. WMS出库单重复

    发货通知单?WMS备货单选项勾选 不自动复制?新增?

  6. html5 一些好用的原生事件

    计算机技术发展这么多年, 有些方面太老了,不适合新时代的发展, 使用新的规范,更方便开发和使用, 提高各方使用人的工作效率, 何乐而不为 drag drop html5新增属性 某些操作使用拖拽比较方 ...

  7. PHP小点注意

    (1)控制器不可以有list,因为它属于thinkPHP的保留关键字,不可以重名

  8. LeetCode No.121,122,123

    No.121 MaxProfit 买卖股票的最佳时机 题目 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你 ...

  9. day11-random模块-随机

    import random # 一.随机小数: print(random.random()) # 0.848972270116501结果是0-1之间的随机小数 print(random.uniform ...

  10. python模块之shelve,xml,hashlib,configpaser

    shelve shelve模块也是一种可以将数据序列化的模块 使用方法 1. open 2. 读写 3. close 特点:使用方法比较简单 提供一个文件名字就可以开始读写,读写的方法和字典一致;跨平 ...