#!/usr/bin/python3
# False、None、0、""、()、[]、{} 做条件表达式时,均做False处理
if 0:
print("T")
else:
print('F')
if (1):
print("不是空元组")
else:
print('是空元组')
# else 的隐含条件是对前面条件取补集。所以以下elif age>40的条件永远达不到
age=45
if age>20:
print("大于20,小于40")
elif age>40:
print('大于40')
# 在使用 ifelse 分支语句时, 一定要先处理包含范围小的情形(每个条件都是全集的不互交的子集)
age=45
if age>40:
print("大于40")
elif age>20:
print('大于20,小于40')
# pass 空语句,做占位符
a=0
if a>1:
pass
else:
print("111")
# assert一种特殊的分支,若后面的bool表达式为True则程序后面继续执行,否则抛出AssertionError
a=int(input("请输入数字:\n"))
assert a>100
print("a大于100")
# 循环一般结构
# 初始化语句
# 循环条件
# 循环体
# 迭代语句
count=0
while count<10:
print("123")
count+=1
# for-in循环
for x in list(range(10)):
print(x)
# for-in遍历词典
dict_score={'得分':0,'失分':5,'助攻':0}
print(dict_score.items())
for key,value in dict_score.items():
print("key的值:%s"%key)
print('value的值:%d'%value)
# 循环-else:无作用,仅仅是为了美观;range()是可迭代的
i=1
while i<5:
print(i)
i+=1
else:
print("while循环结束")
for i in range(3):
print(i)
else:
print('for循环结束')
for i in range(3):
j=0
while j<3:
print('i的值是%d,j的值是%d'%(i,j))
j+=1
# for表达式又称列表推导式(利用可迭代对象来创建新的列表):[表达式 for 循环计数器 in 可迭代对象]:循环执行for之前的“表达式”,循环次数由循环计数器迭代计数,并将每次执行的值收集起来作为新的列表元素
a_range=range(5)
a_list=[x*x for x in a_range]
print(a_list)
# for表达式添加if:将只迭代那些符合条件的元素
blist=[x*x for x in a_range if x % 2 ==0] # 只处理range之间的偶数
print(blist)
# 使用for表达式创建生成器:方括号改为圆括号
generatorA=(x*x for x in a_range if x % 2 ==0)
print(generatorA)
for i in generatorA:
print(i,end='\t')
# for表达式嵌套:前面的是外层循环,后面的是内层循环
c_list=[x*y for x in range(5) for y in range(3)]
print(c_list)
# 常用工具函数:不改变输入列表本身
# zip():返回压缩对象
d_list=[1,3,4]
e_list=['a','b','c','de']
f_list=[x for x in zip(d_list,e_list,a_list)] # zip()函数压缩后的可迭代对象所包含的元素是由原列表元素组成的元组
print('flist',f_list)
# reverse() 返回反转排列的迭代器
print(list(reversed(d_list)))
# sorted() 返回排序后的列表
print(sorted(a_list,reverse=True))
print(sorted((e_list),key=len,reverse=True)) # 用sorted函数时,还可传入一个key参数,该参数可指定一个函数来生成排序的关键值
# 控制循环结构
# break结束循环
for i in range(5):
if i==2:
print("停止")
break
else:
print(i)
# continue跳出本次循环,执行下次循环
for i in range(5):
if i==3:
continue
print(i)
# return结束方法,内部的循环也随之结束
def test():
for i in range(5):
if i==3:
return
print(i)
print('函数执行')
test()