Python的数据类型在前几节我们都简单的一一介绍了,接下来我们就要讲到Python的控制判断循环语句

在现实编程中,我们往往要利用计算机帮我们做大量重复计算的工作,在这样的情况下,需要机器能对某个条件进行判断,或是对某个行为进行重复操作

这时我们就必须要知道如何去编写循环判断语句

if... elif... else

if也就是如果的意思,后面需要加一个判断条件,如果判断条件为真,则执行if下的操作,如果为假则跳过操作

注意在每个判断条件后面要加上冒号,且if下面的语句要注意缩进

In [1]: num = 20

In [2]: if num > 10:
...: print("条件成立")
...:
条件成立

  

tips:“ = ”  和 “ == ”的区别:一般的一个等号代表的是赋值,在循环中只能用来和对象名进行比较,“ == ”双等号可以直接用来与值进行比较,例如数字,和字符串

例如

In [3]: name = "susmote"  

In [4]: if name == "susmote":
...: print("名字是susmote")
...:
名字是susmote In [5]: if name = "susmote": #如果不用“==”比较值,则会报语法错误
...: print("名字是susmote")
...:
File "<ipython-input-5-06510f3ebd56>", line 1
if name = "susmote":
^
SyntaxError: invalid syntax

 其他的关系运算符如下

大于等于  >=

小于等于 <=  

 

elif在其他语言中叫 “ else if ”,python简化了这个表达式,elif一般是用来判断多个表达式的,也就是说在一个判断语句中可以有多elif,这个也有点类似于其他语言的switch case,当然也要加上else

In [8]: num = 20

In [9]: if num > 20:
...: print("num大于20")
...: elif num == 20:
...: print("num等于20")
...: elif num < 20:
...: print("num小于20")
...:
num等于20

  

else下面的执行语句只有当前面的条件都不满足时,才会执行,else在一个判断语句中也是可选的,但为了程序能更清晰的运行,建议还是都加上

一个完整的if,, elif ... else语句

num = input("请输入一个不大于5的数:  ")
num = int(num)
if num == 0:
print("这个数字是0")
elif num == 1:
print("这个数字是1")
elif num == 2:
print("这个数字是2")
elif num == 3:
print("这个数字是3")
elif num == 4:
print("这个数字是4")
elif num == 5:
print("这个数字是5")
else :
print("你输入的数不符合要求")

  运行结果

[root@localhost ~]# python3 a.py
请输入一个不大于5的数: 3
这个数字是3
[root@localhost ~]# python3 a.py
请输入一个不大于5的数: 14
你输入的数不符合要求

while

while循环的正确定义是 while()   括号里面需要加一个判断条件,如果里面的判断为真,则一直执行下面的语句,知道while的判断条件为假才跳出循环

In [1]: num = 10

In [2]: while(num > 0 ):
...: print(num)
...: num -= 1
...:
10
9
8
7
6
5
4
3
2
1

  

 

当然如果条件一直为真则形成死循环,里边的语句一直会执行,一般程序还是尽量不要出现死循环,死循环很耗系统资源

在这里讲一下条件判断中常用的布尔类型:

布尔类型只有真和假两个值,True or Flase

一般所有的字符串都代表真,数字中只有0是代表假 false

In [15]: while(0):
...: print("条件为假,什么都不做")
...:

  

for

for循环在其他语言中,如C,java,只能通过数字进行循环迭代,Python中你可以对任意有顺序的数据进行for循环获取值,如列表和字符串

python中for循环的语句结构    for  item in sequence       item代表获取到的每个值,sequence代表可循环的数据,列表或字符串

例如

In [16]: info = ["susmote", "18", "13488888888"]

In [17]: for item in info:
...: print(item)
...:
susmote
18
13488888888

  

 

如果是操作一个列表的话,你还可以对他进行其他的改变,如通过for循环对列表内元素进行排序(最原始的办法,一个个判断)

In [28]: for i in num:
...: if i < num[0]:
...: num.remove(i)
...: num.insert(0, i)
...: elif i < num[1]:
...: num.remove(i)
...: num.insert(1,i)
...: elif i < num[2]:
...: num.remove(i)
...: num.insert(2, i)
...: elif i < num[3]:
...: num.remove(i)
...: num.insert(3, i)
...: elif i < num[4]:
...: num.remove(i)
...: num.insert(4,i)
...: In [29]: num
Out[29]: [1, 3, 5, 6, 7, 9]

  后续在讲排序算法

range()

如果你需要重复的生成一组有规律的数字,这时你就需要用到range函数了,他能够生成递进的数字

例如与for循环结合

In [34]: for i in range(5):
...: print(i)
...:
0
1
2
3
4

  默认是从0开始迭代生成的

range可以传三个参数  range( a, b ,c )        a代表开始的数字,b代表结束的数字,c代表增量(可为负数)

调用range方法时只传一个参数,a默认为0, b则是你传入的参数,c默认为1

调用range方法时传两个参数,a就是第一个参数,b是后面一个参数,c默认为1,  记住包头不包尾

例如

In [42]: for i in range(2, 6):
...: print(i)
...:
2
3
4
5 In [43]: for i in range(2, 10, 2):
...: print(i)
...:
2
4
6
8

  

当然也可以为负数

In [44]: for i in range(-10, -80, -10):
...: print(i)
...:
-10
-20
-30
-40
-50
-60
-70

  

对于一个列表,你还可以遍历他的索引,获取值

In [45]: weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunda
...: y"] In [46]: for i in range(len(weekdays)):
...: print(i, weekdays[i])
...:
0 Monday
1 Tuesday
2 Wednesday
3 Thursday
4 Friday
5 Saturday
6 Sunday

  

一般我们在进行上述操作时,为了更方便,我们都是使用 enumerate()方法的,他能直接迭代生成索引,这个之后再讲

range()返回的值不是一个列表,只是一个对象,我们把这种对象叫做可迭代对象

我们不仅能够通过for循环输出对象迭代的值,还能直接通过 list() 直接生成列表

In [47]: print(range(10))
range(0, 10) In [48]: list(range(10))
Out[48]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  

07_Python的控制判断循环语句1(if判断,for循环...)_Python编程之路的更多相关文章

  1. c++中的结构化语句 判断语句if 分支语句switch 循环语句 while 和 do while 循环语句for的使用

    作业1: 使用if语句,根据1~7的数字,输出今天是星期几?的程序. 方法一,直接使用单独的if语句 #include <iostream> using namespace std; in ...

  2. linux条件测试操作(test)和if判断语句,while循环语句,break控制语句和for循环和case多分枝语句和select语句

    条件测试操作 条件测试是专为影响"$?"的操作,是条件转移.循环语句的基础   test测试命令: test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0, ...

  3. sql 循环语句几种方式(变量循环,游标循环,事务)

    --第一   ) ,),Orders )) declare @n int,@rows int --select @rows=count(1) from pe_Orders select @rows = ...

  4. Java流程控制之循环语句

    循环概述 循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将 ...

  5. Java 控制流程 之 循环语句

    循环:循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一 ...

  6. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  7. [转]PB 基本语句 循环语句

    PB 基本语句一.赋值语句赋值语句用于给变量.对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:variablename = expression_r其中:⑴variablename是变量名 ...

  8. Python数据结构与循环语句

    # Python数据结构与循环语句:   首先编程是一项技能,类似跑步,期初不必在意细节,能使用起来就行,等学的游刃有余了再回过头来关注细节问题也不迟.  关于买书: 学会python之后,才需要买书 ...

  9. JavaSE教程-04Java中循环语句for,while,do···while

    ** Java的循环语句 ** 引入: 生活中有循环,程序的世界也有循环. 思考:生活中有哪些循环的事情? 总结:什么是循环? 重复做类似的事情,而且有终止条件,如果没有终止条件会是怎样? 类似这样的 ...

随机推荐

  1. mysql url 连接配置的一个小坑。 工作中不会遇到。 学习的时候会

    <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> & ...

  2. Redis之List

    一.Redis之List简介 1. List是简单的字符串列表,按照插入顺序排列. 2. 一个列表最多可存储232-1个元素(40多亿). 二.Redis之List命令行操作 Lrange:获取列表指 ...

  3. jqgrid 单元格引入时间datepicker控件

    简述原理:引入jquery-ui插件,设置好表格所需的字段变量以及字段属性1.设置colName与colModel colNames: ['过期时间''] colModel:[{       name ...

  4. Chrome游览器使用时,修改文件和网页刷新后,不能显示效果

    一:因为游览器缓存问题 有时候在写完代码后,刷新游览器,发现自己写的目标是让某一个东西隐藏,但是结果是依旧显示着,打开调试工具在Sources中发现,文件依旧是上次的旧的文件,新文件没有加载进去,无论 ...

  5. Problem : 1013 ( Digital Roots )

    tips:分析不够仔细,白费了许多功夫.输入数据的范围,平时几乎很少考虑的,这个以后得注意.代码检查不够仔细啊,以后得注意了 #include<iostream> using namesp ...

  6. 特殊权限chattr的用法

    1,只能对文件进行追加操作: [root@localhost tmp]# cat yum.log 22222222222222[root@localhost tmp]# chattr +a yum.l ...

  7. centos上的grub文件修改

    centos上的grub文件修改 author:headsen chen 2017-10-10  17:36:42 个人原创,转载请注明作者和出处,否则追究法律责任 1,centos6上的修改:vim ...

  8. JDK配置及tomcat部署

    JDK配置及tomcat部署 2017-09-30-17:54:03 个人原创博客,转载请注明出处,作者,否则依法追究责任,文中引用了一些百度经验的图片,特此注明. 一,配置JDK:1.8.0_66版 ...

  9. NGINX详解

    目录 1.    基础概念    1 2.    版本选择    1 3.    服务安装    1 4.    模块说明    1 5.    配置说明    1 5.1    目录结构    1 ...

  10. 笔记:Jersey REST API 设计

    REST 统一接口 REST 使用 HTTP 协议的通用方法作为统一接口的标准词汇,REST 服务所提供的方法信息都在 HTTP 方法里,每一种HTTP请求方法都可以从安全性和幂等性两方面考虑,这对正 ...