Python学习--04条件控制与循环结构

支持

  • ifif...elseif...elif ...if
  • while
  • for ... in...
  • continue, break
  • pass

没有switch-case;没有普通的for x;y;z条件循环。

条件控制

在Python程序中,用if语句实现条件控制。

语法格式:

if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>

注意语句后面的冒号:。像经典的C、Java都是以花括号来区分代码块,但是Python没有使用花括号表示,而是缩进,所以一定需要了解它们的语法区别。

示例:

age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')

循环控制

Python里有2种循环结构:

1、for...in

2、while

注意Python里没有C语言里经典的for循环结构,也没有PHP里的foreach结构。

for...in

for...in循环会依次把list或tuple中的每个元素迭代出来,示例:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)

输出:

Michael
Bob
Tracy

注意for语句后面的冒号:

再看个求和的例子:

sum = 0
for x in range(101):
sum = sum + x
print(sum)

输出:

5050

注意的是,range(101)生成的是0-100的整数序列,不是到101。

对于字典(dict),for...in循环迭代的是key,而不是value:

dict = {"name":"yjc", "age":18}
for x in dict:
print(x, dict[x])

输出:

name yjc
age 18

while

while循环是其它语言里很经典的循环结构,Pyhton里同样支持。

sum = 0
n = 0
while n < 101:
sum = sum + n
n = n + 1
print(sum)

while循环里只要条件满足,就不断循环,条件不满足时退出循环。需要注意while语句后面的冒号:

循环控制语句

循环里如果我们想终止本次循环,可以使用continue;如果想终止整个循环,则使用break

看看下面这个例子:

sum = 0
n = 0
while n < 5:
n = n + 1
if n == 3:
break #试试替换成continue
sum = sum + n
print(sum)

输出:

# 使用break:
3 # 使用continue:
12

空语句

Python里使用pass表示空语句,即啥也不做。

if age >= 18:
pass

在C语言里等同于:

if( age>=18 ){

}

pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

因为在其它语言里有花括号,如果花括号里面为空,代表啥也不做,但Python没有花括号,缺少了pass,代码运行就会有语法错误。

Switch/Case模拟

Python没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现。所以不妨自己来实现Switch/Case功能。

1、通过字典实现

def foo(var):
return {
'a': 1,
'b': 2,
'c': 3,
}.get(var,'error') #'error'为默认返回值,可自设置

2、通过匿名函数实现

def foo(var,x):
return {
'a': lambda x: x+1,
'b': lambda x: x+2,
'c': lambda x: x+3,
}[var](x)

参考

1、循环

http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431676242561226b32a9ec624505bb8f723d0027b3e7000

2、python中Switch/Case实现 - gerrydeng - 博客园

https://www.cnblogs.com/gerrydeng/p/7191927.html

Python学习--04条件控制与循环结构的更多相关文章

  1. Python学习笔记——条件控制

    Python中的条件控制方式基本和C语言类似,主要有如下几种语法: If条件判断 Python的条件语句的语法是if…elseif…else,如下的一个简单的猜数字的示例演示了这一过程: number ...

  2. python基础之条件控制与循环

    Python3 条件控制 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户 ...

  3. luogg_java学习_03_流程控制及循环结构

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 程序流程控制 顺序结构 分支结构:if-else,sw ...

  4. shell条件控制和循环结构

    一.简介 Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for.while和until.while循环和for循环属于“当型循环”,而until属于“直到 ...

  5. python学习第六天 条件判断和循环

    总归来讲,学过C语言的同学,对条件判断和循环并不陌生.这次随笔只是普及一下python的条件判断和循环对应的语法而已. 条件判断: 不多说,直接贴代码: age = 23 if age >= 6 ...

  6. Python学习之条件判断和循环

    #coding= utf-8 # 条件判断和循环 # 如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做 age1 = 20 if age1 >= 18: prin ...

  7. Python学习笔记—条件判断和循环

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

  8. python学习-7 条件语句 while循环 + 练习题

    1.死循环 while 1 == 1: print('ok') 结果是一直循环 2.循环 count = 0 while count < 10: print(count) count = cou ...

  9. Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

随机推荐

  1. C语言 · 薪水计算

    问题描述 编写一个程序,计算员工的周薪.薪水的计算是以小时为单位,如果在一周的时间内,员工工作的时间不超过40 个小时,那么他/她的总收入等于工作时间乘以每小时的薪水.如果员工工作的时间在40 到50 ...

  2. 《JavaScript设计模式 张》整理

    最近在研读另外一本关于设计模式的书<JavaScript设计模式>,这本书中描述了更多的设计模式. 一.创建型设计模式 包括简单工厂.工厂方法.抽象工厂.建造者.原型和单例模式. 1)简单 ...

  3. jQuery2.x源码解析(缓存篇)

    jQuery2.x源码解析(构建篇) jQuery2.x源码解析(设计篇) jQuery2.x源码解析(回调篇) jQuery2.x源码解析(缓存篇) 缓存是jQuery中的又一核心设计,jQuery ...

  4. iOS controller解耦探究实现——第一次写博客

    大学时曾经做过android的开发,目前的工作是iOS的开发.之前自己记录东西都是通过自己比较喜欢的笔记类的应用记录下了.直到前段时一个哥们拉着我注册了一个博客.现在终于想明白了,博客这个东西受众会稍 ...

  5. 2016/12/28_javascript

    今天学习的主要内容: javascript: 1.if语句,switch语句,while循环以及for循环: 1)if语句 if(boolean){}; if(boolean){} else if(b ...

  6. ADFS3.0与SharePoint2013安装配置(原创)

    现在越来越多的企业使用ADFS作为单点登录,我希望今天的内容能帮助大家了解如何配置ADFS和SharePoint 2013.安装配置SharePoint2013这块就不做具体描述了,今天主要讲一下怎么 ...

  7. C#事件-使用事件需要的步骤

    事件是C#中另一高级概念,使用方法和委托相关.奥运会参加百米的田径运动员听到枪声,比赛立即进行.其中枪声是事件,而运动员比赛就是这个事件发生后的动作.不参加该项比赛的人对枪声没有反应. 从程序员的角度 ...

  8. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  9. welcome to my cnblog

    博客园总算开通了,以后就分享自己的东西,和大家交流.

  10. REGEX例子

    作为REGEX的例子,代码9.3显示了一个给定的文件有多少行,具有给定的模式,通过命令行输入(注:有更有效率的方式来实现这个功能,如Unix下的grep命令,在这里只是给出了另一种方式).这个程序像下 ...