- 输入一个分数:分数在0-100之间。90以上是A,80以上是B,70以上是C,60以上是D,60以下是E
- 录入员工的薪水
- 测试嵌套循环,九九乘法表
- 循环优化思考
- 测试zip( )并行迭代
- 测试列表、字典、元组推导式
- 海龟画图
- 画棋盘
# 测试选择结构的嵌套
# 输入一个分数:分数在0-100之间。90以上是A,80以上是B,70以上是C,60以上是D,60以下是E。
score = int(input("请输入一个在0-100之间的数字:"))
degree = "ABCDE"
num = 0
if score>100 or score<0:
print("输入错误!请重新输入一个在0-100之间的数字:")
else:
num = score//10
if num<6:num=5
if num==10:num=9
print("分数是{0},等级是{1}".format(score,degree[9-num]))
录入员工的薪水
# 测试循环中的else语句
salarySum= 0
salarys = []
count = 0
for i in range(4):
s = input("请输入一共4名员工的薪资(按Q或q中途结束)")
count +=1
if s.upper()=='Q':
print("录入完成,退出")
count -= 1
break
if float(s)<0:
continue
salarys.append(float(s))
salarySum += float(s)
else:
print("您已经全部录入4名员工的薪资")
print("录入薪资:",salarys)
print("平均薪资{0}".format(salarySum/count))
测试嵌套循环,九九乘法表
# 测试嵌套循环
for x in range(5):
for y in range(5):
print(x,end="\t")
print() #起到换行的作用
#打印九九乘法表
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() #换行
#使用列表和字典存储表格的数据
r1= dict(name="高小一",age=18,salary=30000,city="北京")
r2= dict(name="高小二",age=19,salary=20000,city="上海")
r3= dict(name="高小三",age=20,salary=10000,city="深圳")
tb = [r1,r2,r3]
for x in tb:
if x.get("salary")>15000:
print(x)
循环优化思考
# 循环代码优化测试
import time
start = time.time()
for i in range(1000):
result = []
for m in range(10000):
result.append(i*1000+m*100) # i*1000 的值
end = time.time()
print("耗时:{0}".format((end-start)))
start2 = time.time()
for i in range(1000):
result = []
c = i*1000
for m in range(10000):
result.append(c+m*100)
end2 = time.time()
print("耗时:{0}".format((end2-start2)))
测试zip( )并行迭代
# 测试zip()并行迭代
for i in [1,2,3]:
print(i)
names = ("高淇","高老二","高老三","高老四")
ages = (18,16,20,25)
jobs = ("老师","程序员","公务员")
for name,age,job in zip(names,ages,jobs):
print("{0}--{1}--{2}".format(name,age,job))
for i in range(3):
print("{0}--{1}--{2}".format(names[i],ages[i],jobs[i]))
测试列表、字典、元组推导式
#列表推导式
y = [x*2 for x in range(1,50) if x%5==0]
print(y)
y = []
for x in range(1,50):
if x%5==0:y.append(x*2)
print(y)
cells = [(row,col) for row in range(1,10) for col in range(1,10)]
print(cells)
# 字典推导式
my_text = "i love you, i love python, i love java"
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(4))
# print(tuple(gnt))
for x in gnt: #gnt是生成器对象,生成器是可迭代的对象,只能使用一次
print(x,end=",")
print(tuple(gnt))
海龟画图
import turtle
t = turtle.Pen()
my_colors = ("red","green","yellow","black")
t.width(4)
t.speed(4)
for i in range(10): # 0 1 2 3 4
t.penup() # 起笔
t.goto(0,-i*10) #移动间隔,可设置断点查看
t.pendown() # 落笔
t.color(my_colors[i%len(my_colors)]) # 换笔色
t.circle(15+i*10) #半径 画圈,可断点
turtle.done() #程序执行完,窗口仍然在
# 画棋盘
import turtle
width = 30
num = 18
x1 = [(-400,400),(-400+width*num,400)]
y1 = [(-400,400),(-400,400-width*num)]
x1[0][1]-30*1
t = turtle.Pen()
t.speed(10)
# t.goto(x1[0][0],x1[0][1])
# t.goto(x1[1][0],x1[1][1])
for i in range(0,19):
t.penup()
t.goto(x1[0][0],x1[0][1]-30*i)
t.pendown()
t.goto(x1[1][0],x1[1][1]-30*i)
for i in range(0,19):
t.penup()
t.goto(y1[0][0]+30*i,y1[0][1])
t.pendown()
t.goto(y1[1][0]+30*i,y1[1][1])
t.hideturtle() #隐藏画笔
turtle.done() #保证运行窗口不被自动关闭