Chinaunix首页 | 论坛 | 博客
  • 博客访问: 230522
  • 博文数量: 57
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 557
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-01 18:05
文章分类

全部博文(57)

文章存档

2017年(57)

我的朋友

分类: Python/Ruby

2017-10-25 15:58:10

Python 条件语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:


Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 14:13
  5. # @file :login.py


  6. import getpass

  7. usrname = raw_input("please input your name ")
  8. passwd = getpass.getpass("password:")

  9. if usrname == 'tom' and passwd == '123':
  10.     print 'Login successful'
  11. else:
  12.     print 'Login fail'
演示结果

点击(此处)折叠或打开

  1. C:\Users\Administrator\PycharmProjects\s14\day8>python login.py
  2. please input your name tom
  3. password:
  4. Login successful

  5. # 故意输错密码

  6. C:\Users\Administrator\PycharmProjects\s14\day8>python login.py
  7. please input your name tom
  8. password:
  9. Login fail

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

由于python并不支持 switch 语句,所以当判断条件为多个值时,可以使用以下形式:

实例演示如下:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 14:31
  5. # @file :grade.py


  6. number = int(raw_input("please input 0-100: "))
  7. if number >= 90:
  8.     print "优秀"
  9. elif number >= 80:
  10.     print "好"
  11. elif number >= 70:
  12.     print "良"
  13. elif number >= 60:
  14.     print "及格"
  15. else:
  16.     print "你要努力了!"
演示结果:
please input 0-100: 50
你要努力了!
please input 0-100: 76

Python 循环语句

本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:


Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型 描述
在给定的判断条件为 true 时执行循环体,否则退出循环体。
重复执行语句
你可以在while循环体中嵌套for循环


循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

控制语句 描述
在语句块执行过程中终止循环,并且跳出整个循环
在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass是空语句,是为了保持程序结构的完整性。
以下是实例演示:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 14:57
  5. # @file :while1.py


  6. sum100 = 0
  7. counter = 1
  8. while counter <=100:
  9.     sum100 += counter
  10.     counter +=1

  11. print "1+2+3+...+100 = %s" % sum100
运行结果:
1+2+3+...+100 = 5050
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 15:04
  5. # @file :while2.py

  6. # continuebreak 用法
  7. i = 1
  8. while i < 10:
  9.     i += 1
  10.     if i % 2 > 0: # 非双数时跳过输出
  11.         continue
  12.     print i, # 输出双数2、4、6、8、10

  13. print ("\n")
  14. print ('*' * 20)

  15. i = 1
  16. while 1: # 循环条件为1必定成立
  17.     print i, # 输出1~10
  18.     i += 1
  19.     if i > 10: # 当i大于10时跳出循环
  20.         break
运行结果如下:
2 4 6 8 10 
********************
1 2 3 4 5 6 7 8 9 10

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:

for iterating_var in sequence: statements(s)

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 15:27
  5. # @file :for.py

  6. # 第一个实例
  7. for number in '123456':
  8.     print '当前数字 :', number

  9. # 第二个实例

  10. tools = ['ship', 'bike', 'plane']
  11. for tool in tools:
  12.     print '当前交通工具 :', tool

  13. print "Good bye!"
运行结果:
当前数字 : 1
当前数字 : 2
当前数字 : 3
当前数字 : 4
当前数字: 5
当前数字 : 6
当前交通工具 : ship
当前交通工具 : bike
当前交通工具 : plane
Good bye!
另外一种执行循环的遍历方式是通过索引,如下实例:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 15:33
  5. # @file :for1.py

  6. tools = ['plane', 'bike', 'ship']
  7. for index in range(len(tools)):
  8.     print '当前交通工具 :', tools[index]

  9. print "Good bye!"
以下是运行结果:
当前交通工具 : plane
当前交通工具 : bike
当前交通工具 : ship
Good bye!

Python 语言允许在一个循环体里面嵌入另一个循环。

Python for 循环嵌套语法:

Python while 循环嵌套语法:

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 15:42
  5. # @file :for2.py

  6. num=[];
  7. i=2
  8. for i in range(2,100):
  9.    j=2
  10.    for j in range(2,i):
  11.       if(i % j == 0):
  12.          break
  13.    else:
  14.       num.append(i)
  15. print(num)

  16. print ('bye......')
以下是运行结果:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
bye......

range和xrange的不同

range 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。
range示例:

 代码如下:
>>>a = range(0,10)
>>>print type(a)

>>> range(5)
[0, 1, 2, 3, 4]
>>> range(1,5)
[1, 2, 3, 4]
>>> range(0,6,2)
[0, 2, 4]

xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。
xrange示例:

代码如下:
>>>a = xrange(0,10)
>>>print type(a)


>>> xrange(5)
xrange(5)
>>> list(xrange(5))
[0, 1, 2, 3, 4]
>>> xrange(1,5)
xrange(1, 5)
>>> list(xrange(1,5))
[1, 2, 3, 4]
>>> xrange(0,6,2)
xrange(0, 6, 2)
>>> list(xrange(0,6,2))
[0, 2, 4]

由上面的示例可以知道:要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用:

实例:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3. # Author :Alvin.xie
  4. # @Time :2017-10-25 15:48
  5. # @file :for4.py


  6. sum1 = 0
  7. for i in range(1,101):
  8.     sum1 += i
  9. print sum1

  10. print '#'*20

  11. sum2 = 0
  12. for k in xrange(1,101):
  13.     sum2 += k
  14. print sum2
运行结果:

5050
####################
5050









阅读(1436) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~