#
#条件、循环
#
#5-1
print 'Lucky Number', 7, 2 #可以用逗号隔开进行输出
print ('Lucky Number', 7, 2 ) # 元组输出
print ['Lucky Number', 7, 2 ] # 列表输出
a = 1
b = 2
c = 3
print a, b, c # 输出多个变量
#import 导入方式
import math #导入数学库,调用方式 math.ceil();
#只建议使用这个,下面3种会引起函数名重复
from math import sqrt #导入数学课 sqrt函数, 调用时 直接使用sqrt(参数)
#from some import sqrt1, sqrt2,sqrt3 #可以同时导入多个函数
from math import * # 导入当前库所有函数
import math as math1 # 导入库,并重新命名,解决名字冲突问题
#5-2赋值
#5-2-1 序列解包
values = 1, 2, 3 # 自动组成元组
print values
b, a = a, b # 值互换
print a, b
a,b,c = values # 解包, 等号 左边 必须 有数量相同的变量可以存储
print a
#rest = []
#a,*rest = values # 3.0特性,将剩余值 保存至 rest中
#print rest
#5-2-2 链式赋值
a = b = c = 3 # 依次赋值
print a, b, c
#5-2-3 增量赋值
self_str = 'I\'m '
self_str += u'卡哇伊 '
self_str += 'gril'
print self_str #字符串增量
#5-3 语句块
if True:
print 'setatem 1'
print 'setatem 2'
else:
print 'setatem4'
print 'setatem3'
print 'is over' # 缩进一样的空格表示语句块
#5-4条件语句
print True == 100
print True == 1 # True 只能等于1
print False == 0 # False 只能等于0
print False == -1
print bool(-1) #bool函数就避免 True 只能等于1
#5-4-2 elif使用
if a == 1:
print '==1'
elif a == 2: # elif 是else if 的简写,但不能写成else if
print '==2'
else:
print '=== 4'
#5-4-3 嵌套
if True:
if a == 1:
print 'a == 1'
else:
print 'a != 1'
print 'is over'
#5-4-4 复杂条件判断
a = 100
b = 200
print a == b #值是否相等
b = a
print a is b #是不是相同对象;指向内存是否一致
a is not b
a != b
#a in b
#a not in b
print 0 < a < 200 # 先跟0 后跟 200 比较 且的关系
print 0 < a and a < 200 #与上面等同
#字母比较
'abc' < 'abbd'
print 'abc' < 'abcd' # 一个一个字母比较,跟长度无关 ; 超出长度就有关
#断言
assert True, 'this is error'
#5-5 循环
while True:
if a >= b:
break
a += 1
print 'add is over'
for num in range(20): #range 函数 从0 开始 左关闭,右开
print num
words = ('a', 'b', 'c', 'd')
for word in words:
print word
for num in xrange(10):
print num
#字典
d = {'x' : 2, 'y': 3}
for data in d: # data 键值,
print data, d[data]
#迭代
list1 = ['a', 'b', 'c', 'd']
list2 = ['A', 'B', 'C', 'D']
for values in range(len(list1)): # 注意 关键都要加 冒号
print list1[values], list2[values]
data = zip(list1, list2) # 打包
print data
for v1, v2 in data : # 解压出来有两个值,需要两个变量进行存储
print v1, v2
strings = 'abcdefghijklmn'
for str1 in strings:
if 'klmn' in str1:
index = strings.index(str1)
#做替换什么操作等等
#翻转,排序迭代
print sorted(list1) # 排序
print sorted('912345678') # 拆分并 排序
#继续continue使用
a = 100
while True:
if a >= 50:
a -= 5
continue
else:
break
#哑值 指 未初始化就被使用,而出错的变量
#5-6 列表推导式
print [list1[x]+list1[x] for x in range(len(list1))] # 空格隔开, 推导式 写在前面
# 等同下面
#for x in range(len(list1)):
# list1[x] = list1[x]+list1[x]
#print list1
print [(x,x) for x in range(10) if x > 2]
#特别关键字 pass , del, exec
# pass 跳过这一行
if True:
pass # 什么内容都不写
#del 不仅删除变量值, 还会删除变量,使其未定义
del a
#print a == None
# exec使用; 使用字符串执行命令; 用于 重复的 变量名 等
exec 'print "Hellor wrold!!"'
#eval 字符串 求值
print eval("1 * 8 + 2")