1、算术运算符和算术表达式
python 的运算符号包括赋值运算符、算术运算符、关系运算符和逻辑运算符
赋值运算符为"=",表达式是将不同类型的数据(包括常量、变量、函数) 用运算符号
按一定的规则连接起来的式子。
python 的算术表达式具有结合性和优先性。结合性是指表达式按照从左往右、先乘除
后加减的原则。优先级是指先执行圆括号内的表达式,再按照结合性的原则进行计算。
2、关系运算符和关系表达式
关系运算符是对两个对象进行比较的符号.
<、<=、>、 >= 这4个运算符的优先级别相同, == 、!= 的优先级别相同. 而< 、<= 、
>、>=的优先级别大于==、!=的优先级别
3、逻辑运算符和逻辑表达式
逻辑表达式是用逻辑运算符和变量连接起来的式子。
逻辑运算符and or not 逻辑表达式 x and y x || y not x
逻辑非的优先级大于逻辑与和逻辑或的优先级,而逻辑与和逻辑或的优先级相等。逻辑
运算符的优先级低于关系运算符,必须计算关系运算符,然后再计算逻辑运算符.
三、条件语句
python 中的控制台输入函数。 input()和raw_input() raw_input捕获用户的原始输入
input()支持用户输入数字或是表达式,不支持输入字符串。
[root@study pp]# cat if.py
#!/usr/bin/python
a = input("please")
b = input("please")
if a > b :
print a > b
else:
print "a < b"
[root@study pp]#
[root@study pp]# cat if_elif.py
#!/usr/bin/python
num_1 = input("num_1:")
num_2 = input("num_2:")
if num_1 > num_2 :
print "num_1 > num_2"
elif num_1 == num_2 :
print "num_1 = num_2"
else:
print "num_1 < num_2"
使用字典实现switch语句
[root@study pp]# vim switch.py
#!/usr/bin/python
from __future__ import division
x = 1
y = 2
operator = "/"
result = {
"+" : x + y,
"-" : x - y,
"*" : x * y,
"/" : x / y
}
print result.get(operator)
循环语句
循环语句是指重复执行同一个代码块。循环语句是由循环休及循环体及循环终止条件两部分组成
一组被重复执行的语句称为循环体,循环的终止条件决定重复执行的次数。
1、while 循环
while (表达式):
…… ……
else:
…… ……
#!/usr/bin/python
x = input("input number value or number expressions: ")
i = 0
while ( x <> 0 ):
if x > 0 :
x -= 1
else:
x += 1
i = i + 1
print "%d loop: " %i,x
else:
print "x == 0 :", x
死循环
i = 1
while i > 0 :
i = i + 1
print i
2、for 循环
for 变量 in 集合:
…………
else:
…………
集合可以是元组、列表、字典等数据结构。其中else子句可以省略
for ... in ... 循环通常与range() 函数一起使用,range() 返回一个列表, for ... in ... 遍历列表中的元素。
range() 函数的声明如下:
range([start,]stop[,step])
range()返回一个递增或递减的数字列表,列表的元素值由3个参数决定。
参数start 表示列表开始的值,默认值为“0”
参数stop 表示列表结束的值,该参数不可缺少。
参数setp表示步长,每次递增或递减的值,默认值为“1”
range() 返回一个递增或递减的数字列表,列表的元素值由以上3 个参数决定。如range(5, -1, -1) 返回的列表为[5,4,3,2,1,0]
#!/usr/bin/python
for x in range(-1,2):
if x > 0:
print "x > 0"
elif x == 0 :
print "x == 0"
else:
print "x < 0"
else:
print "loop end."
[root@study pp]# cat for_two.py
#!/usr/bin/python
x = 0
while x < 5 :
print x
x = x + 2
[root@study pp]#
[root@study pp]# cat for_three.py
#!/usr/bin/python
for i in range(0,5,2):
print i
[root@study pp]# python for_three.py
0
2
4
[root@study pp]#
3、break 和continue 语句
[root@study pp]# python break_for.py
please x value: 5
find x in the 0,100
[root@study pp]# python break_for.py
please x value: 500
not find x in the 0,100 !loop end
s
[root@study pp]# cat break_for.py
#!/usr/bin/python
x = input("please x value: ")
y = 0
for y in range(0,100):
if x == y :
print "find x in the 0,100"
break
# else:
# print "not find x in the 0,100"
else:
print "not find x in the 0,100 !loop end"
[root@study pp]#
continue 语句
当程序执行到continue语句时,程序将转到下一次循环。break 语句会直接中断循环,
而continue语句则是停止本次循环,进入下一次循环,循环语句并没有中止。
[root@study pp]# python continue.py
input x value : 5
x <> y 0
x <> y 1
x <> y 2
x <> y 3
x <> y 4
x == y
[root@study pp]# cat continue.py
#!/usr/bin/python
x = input("input x value : ")
y = 0
for y in range(0,100):
if x <> y :
print "x <> y ",y
continue
else:
print " x == y"
break
[root@study pp]#
四、结构化程序示例
xrange()的用法和range()相同,xrange()的声明如下所示:
xrange([start,]stop[,step])
xrange是一个类,而且返回的是一个xrange对象。使用xrange()进行遍历,
每次遍历只返回一个值。range()返回的是一个列表,一次性计算并返回所有的值
因此,xrange()的执行效率要高于range()
[root@study pp]# cat xrange.py
#!/usr/bin/python
x = xrange(0,8)
print x
print x[0]
print x[7]
[root@study pp]# python xrange.py
xrange(8)
0
7
[root@ns01 pp]#
冒泡排序算法实现