if 条件
if 语法
- if expression
statement(s)
注意:python 使用缩进作为其语句的分组方法,建议使用4个空格
if not 1 > 2 and 1 == 1: print 'hello python' print 'True'
这个例子中,逻辑非的优先级比较高
先执行:
not 1 > 2
在执行:
1==1
if 10 < 2: print 'hello python' print 'True' else: print 'ha' print 'main'
这个例子中,print 'main' 这个条件是排除在 if 语句外的,无论如何都会输出。
if 多个条件,例子如下:
if 10 < 2: print 'hello python' print 'True' elif 'a': print 'a' else: print 'ha' print 'main'
总结:
if条件练习,成绩分类
score = int(raw_input("Please a num: ")) if score >= 90: print "A" print 'very good' elif score >= 80: print 'B' print 'good' elif score >= 70: print 'C' print 'pass' else: print 'D' print 'END'
布尔值
逻辑值(bool)包含了两个值:
-True : 表示非空的量(比如:string、tuple、list、set、dictionary),所有非零数。
-False : 表示0,None,空的量等。
上栗中,用到了一个字符串的方法,yn.lower ,这个方法的作用把收到的字符串转为小写的。
for序列
循环
循环是一个结构,导致程序要重复一定的次数。
条件循环也是如此,当条件变为假,循环结束。
for循环
在序列里,使用for循环遍历
语法:
- for iterating_var in sequence:
statement(s)
常用for循环
for i in range(1, 11): print i
对序列做个遍历。
含有if条件的for循环
for i in range(1, 11): if i % 2 == 0: print i
注意缩进
列表的重写:
几个栗子:
print [i for i in range(1, 11)] print [i * 2 for i in range(1, 11)] print [i for i in range(1, 11) if i % 2 == 0] print [i ** 2 for i in range(1, 11)]
for i in [i ** 2 for i in range(1, 11)] print i,
在一行中打印出列表里的元素。
用遍历的方式访问字典
定义字典的方法:
dic = {'a':1, 'b':2} dic.fromkeys('abcdefgh',100)
- 创建字典
2.遍历字典的key和值
3.格式化输出
4.items方法
5.iteritems 方法
同range和xrange的区别一样,items和iteritems也累死,iteritems也返回的是对象,不占用内存,
只有调用到的时候,才会占用单个的内存。
6.乘法口诀
for i in xrange(1,10): for j in xrange(1, i+1): print "%sx%s=%s" % (j, i, j*i) print
i 控制行,j 控制列,末尾 print 表示打印换行符
循环退出
for循环也有else
for 循环如果正常结束,才会执行else语句。
举例:
for i in xrange(10): print i else: print 'main end'
else 后面的也会输出。
1.如果不让语句执行完 ,break ,退出循环,继续执行程序,则else不会输出:
for i in xrange(10): print i if i == 5: break else: print 'main end'
有 break 没有正常结束,不输出最后的代码。
2.continue 退出当前循环,继续后面的循环
for i in xrange(10): if i == 3: continue if i == 5: break print i else: print 'main end'
当 i 等于3 时候,循环内部,下面的语句不继续执行了,跳出当前,继续下一次循环
3.pass 占位
for i in xrange(10): if i == 3: countinue elif i == 5: break elif i == 6: pass print i else: print 'main end'
4.彻底退出程序
import sys import time for i in xrange(10): if i == 3: continue elif 1 == 5: continue elif i == 6: pass elif i == 7: sys.exit() print i else: print 'main end' print "hahahah"
所有sys.exit()下的程序,都不会输出。
random.randint() 随机数模块
while 循环
while 和 for 循环的区别
- for 循环用在有次数的循环上
- while 循环用在有条件的控制上
while 循环,直到表达式为假,才退出。
while 循环,表达式是一个逻辑表达式,必须返回一个True或False。
语法:
while expression:
statement(s)
while循环里有break,也可以退出循环
死循环:
永远成立,永远不会退出的循环。
while True: print 'hello'
判断初始值
n = 0 while True: if n == 10: break print n, 'hello' n += 1
执行10次就break了~
读取键盘输入
while True: print 'hello' x = raw_input("Please input something, q for quit:") if x == "q": break
变量使用:
x = '' while x != 'q': print 'hello' x = raw_input("Please input something, q for quit:")
判断的使用
x = '' while x != 'q': print 'hello' x = raw_input("Please input something, q for quit:") if not x : break
当 x 为 非空的时候,就退出循环。
while 也有else
x = '' while x != 'q': print 'hello' x = raw_input("Please input something, q for quit:") if not x : break else: print 'world'
如果不是正常结束,就会执行else。
continue 用法
x = '' while x != 'q': print 'hello' x = raw_input("Please input something, q for quit:") if not x : break if x == 'quit': continue print 'continue' else: print 'world'