Python基础巩固题
1、输入一个学生的成绩,将其转化成简单描述:不及格(小于60)、及格(60-79)、良好 (80-89)、优秀(90-100)。
# 输入一个学生的成绩,将其转化成简单描述:不及格(小于60)、及格(60-79)、良好 (80-89)、优秀(90-100)。
pj = ["不及格", "及格", "及格", "良好", "优秀", "优秀"]
while True:
a = input("请输入学生成绩(输入Q和q结束):")
if a.upper() == "Q":
break
if int(a) > 100 or int(a) < 0:
print("成绩不规范,请重新输入成绩。")
continue
b = int(a)//10-5
if b < 0:
b = 0
print("{0}".format(pj[b]))
测试结果:
2. 已知点的坐标(x,y),判断其所在的象限
#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author: Administrator
@file: 4-2.py
@time: 2022/04/27
@desc:
"""
# 已知点的坐标(x,y),判断其所在的象限
while True:
a = float(input("请输入变量X:"))
b = float(input("请输入变量Y:"))
if a > 0:
if b > 0:
print("第一象限")
elif b == 0:
print("在X轴上")
else:
print("第四象限")
elif a == 0:
if b > 0 or b < 0:
print("在Y轴上")
else:
print("在原点上")
else:
if b > 0:
print("第二象限")
elif b == 0:
print("在X轴上")
else:
print("第三象限")
测试结果;
3、输入一个分数。分数在 0-100 之间。90以上是 A,80以上是B,70 以上是C,60 以上是 D。60以下是 E
#!usr/bin/env python
# -*- coding:utf-8 _*-
"""
@author: Administrator
@file: 4-3.py
@time: 2022/04/27
@desc:
"""
# 输入一个分数。分数在0-100之间。90以上是A,80 以上是B,70以上是C,60以上是D。60以下是E
a = "EEEEEDCBAA"
while True:
grade = input("请输入一个分数(0-100之间且输入G或者g时退出):")
if grade.upper() == "G":
print("输入完成")
break
print("{0}".format(a[int(grade) // 10-1]))
测试结果:
4、利用 while 循环,计算 1-100 之间数字的累加和;计算1-100之间偶数的累加和,计算1-100 之间奇数的累加和。
# 4、利用 while 循环,计算 1-100 之间数字的累加和;计算1-100之间偶数的累加和,计算1-100 之间奇数的累加和。
sum_even = 0
sum_odd = 0
sum_all = 0
i = 0
while i <= 100:
if i % 2 == 0:
sum_even += i
sum_all += i
else:
sum_odd += i
sum_all += i
i += 1
print("总数的累加和为{0},偶数的累加和为{1},奇数的累加和为{2}".format(sum_all, sum_even, sum_odd))
测试如图:
5. 利用 for 循环,计算 1-100 之间数字的累加和;计算 1-100 之间偶数的累加和,计算 1-100 之间奇数的累加和
# 利用 for 循环,计算 1-100 之间数字的累加和;计算 1-100 之间偶数的累加和,计算1-100 之间奇数的累加和
sum_even = 0
sum_odd = 0
sum_all = 0
i = 0
for i in range(1, 101):
if i % 2 == 0:
sum_even += i
sum_all += i
else:
sum_odd += i
sum_all += i
i += 1
print("总数的累加和为{0},偶数的累加和为{1},奇数的累加和为{2}".format(sum_all, sum_even, sum_odd))
测试如图所示:
6. 打印如下图案
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
"""
@author: Administrator
@file: 4-6.py
@time: 2022/04/29
@desc:
"""
for i in range(5):
for j in range(5):
print(i, end=" ")
print()
测试如图:
7.利用嵌套循环打印九九乘法表
"""
@author: Administrator
@file: 4-7.py
@time: 2022/04/29
@desc:
"""
# 利用嵌套循环打印九九乘法表
for i in range(1,10):
for j in range(1, i+1):
print("{0} * {1} = {2}".format(i, j, i*j), end=" ")
print() #换行
测试如图:
8. 用列表和字典存储下表信息,并打印出表中工资高于 15000 的数据
"""
@author: Administrator
@file: 4-8.py
@time: 2022/04/29
@desc:
"""
r1 = {"name": "高小一", "age": 18, "salary": 30000, "city": "北京"}
r2 = {"name": "高小二", "age": 19, "salary": 20000, "city": "上海"}
r3 = {"name": "高小五", "age": 20, "salary": 10000, "city": "深圳"}
tb = [r1, r2, r3]
for i in tb:
if i.get("salary") > 15000:
print(i)
测试如图:
9. 要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资
# 要求输入员工的薪资,若薪资小于 0 则重新输入。最后打印出录入员工的数量和薪资明细,以及平均薪资
sal = []
sum_sal = 0
i = 0
while True:
mon = input("请输入员工的薪资(输入q或者Q时结束):")
if mon.upper() == "Q":
break
if float(mon) < 0:
print("请重新输入薪资。")
continue
i += 1
sal.append(mon)
sum_sal += float(mon)
print("工资明细:", sal)
print("员工数量为{0},平均薪资为{1}".format(i, sum_sal/i))
测试图片:
10. 员工一共 4 人。录入这 4 位员工的薪资。全部录入后,打印提示“您已经全部录入 4 名员工的薪资”。最后,打印输出录入的薪资和平均薪资
# 员工一共 4 人。录入这 4 位员工的薪资。全部录入后,打印提示“您已经全部录入4名员工的薪资”。最后,打印输出录入的薪资和平均薪资。
j = 0
sum = 0
sr = []
for i in range(4):
ss = input("请输入员工的薪资:")
if ss.upper() == "Q":
print("输入完成,结束。")
break
sr.append(float(ss))
sum += float(ss)
j += 1
print("您已经全部录入4名员工的薪资")
print("录入的薪资为:", sr)
print("平均薪资为:{0}".format(sum/4))
测试图片:
11.使用海龟绘图,绘制同心圆:
import turtle
t = turtle.Pen()
my_colors = ("blue", "green", "yellow", "black")
t.width(4)
t.speed(1)
for i in range(10): # 0 1 2 3 4
t.penup()
t.goto(0, -i*10) # 0, -100,-200,-300,-400
t.pendown()
t.color(my_colors[i%len(my_colors)])
t.circle(15+i*10) # 100,200,300, 400,, 500
turtle.done() # 程序执行完,窗口仍然在
测试如图: