Python(七)测试:实例对成绩分等级(不一样的思想),录入员工的薪水,测试嵌套循环九九乘法表,循环优化思考,zip( )并行迭代,列表、字典、元组推导式,海龟画图、棋盘

  • 输入一个分数:分数在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()   #保证运行窗口不被自动关闭

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐樽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值