o(* ̄︶ ̄*)o

  博客园  :: 首页  ::  :: 联系 :: 订阅 订阅  :: 管理

python 条件 循环

#
#条件、循环
#

#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")
		

  

posted on 2015-03-09 13:18  熊本熊の熊  阅读(89)  评论(0)    收藏  举报