1.for 语句的使用:
#for 语句
for x in range (5):
for y in range (5):
print(x,end='\t')#控制在一行打印
print('\n')#起到换行的作用
结果:
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
2.打印九九乘法表:
#打印九九乘法表
for m in range (1,10):
for n in range (1,m+1):
print("{0}*{1}={2}".format(m,n,(m*n)),end='\t')
print()#换行
结果:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
#列表和字典存储表格数据再输出
r1=dict(name="高小一",age=18,sal=10000,city="bj")
r2=dict(name="高小二",age=20,sal=20000,city="sh")
r3=dict(name="高小三",age=19,sal=30000,city="tj")
rb=[r1,r2,r3]
for x in rb:
if x.get("sal")>15000:
print(x)
结果:
{'name': '高小二', 'age': 20, 'sal': 20000, 'city': 'sh'}
{'name': '高小三', 'age': 19, 'sal': 30000, 'city': 'tj'}
4.break与continue语句
# break和continue语句
empNum=0
salsum=0
sla=[]
while True:
s=input("please enter a sal:")
if s.upper()=='Q':
print('finish')
break
if float(s)<0:
continue
empNum+=1
sla.append(float(s))
salsum+=float(s)
print("员工数{0}".format(empNum))
print("薪资",sla)
print("平均薪资{0}".format(salsum/empNum))
测试:
please enter a sal:1000
please enter a sal:2000
please enter a sal:3000
please enter a sal:q
finish
员工数3
薪资 [1000.0, 2000.0, 3000.0]
平均薪资2000.0
5.循环优化需要注意的地方:
6.zip并行迭代
#测试zip()并行迭代
names = ("lily","Bob","Helen","Tony")
ages=(18,16,16,19)
jobs=("teacher","doctor","worker","cooker")
for name,age,job in zip(names,ages,jobs):
print("{0}--{1}--{2}".format(name,age,job))
7.推导式创建序列:
例子如下:
#列表推导式
y=[x*2 for x in range (1,50) if x%5==0]
print(y)
例子如下:
#字典推导式
my_text="i love you,i love python"
char_count={c:my_text.count(c) for c in my_text}
print(char_count)
例子如下:
#集合推导式
b={x for x in range (1,100) if x%9==0}
print(b)
#元组没有推导式,有生成器推导式(生成元组,只能打印一次
gnt=(x for x in range(0,4))
for x in gnt:
print(x,end=",")
print(tuple(gnt))
结果:
0,1,2,3,()
8.函数
具体实例在下一章