Python试题库项目试题:
一、温度转换器,书写程序将摄氏温度转化为华氏温度。华氏温度=摄氏温度*1.8+32(5分)
参考答案:
a= float(input('请输入摄氏温度:'))
print(f'华氏温度为{a * 1.8 + 32}')
二、一年365天,每天进步1%,累计进步多少呢?(5分)
参考答案:
print("累计进步:",1.01**365)
三、一年365天,每天退步1%,累计剩下多少呢?(5分)
参考答案:
print("累计剩下:",0.99**365)
四、请编程计算商品的折扣。要求输入商品原价和折后的价格,计算并输出商品的折扣(浮点数,保留两位小数)(10分)
参考答案:
a= float(input("请输入商品原价:"))
b= float(input("请输入商品折后价:"))
print(f"商品的折扣是{b/a*10:.2f}")
五、使用字典编写一个程序,用户输入一个月份,程序输出该月份对应的英文单词。(10分)
作业提示:1月:January,2月:February,3月:March',4月:April,5月:May,6月:June, 7月:July,8月:August,9月:September,10月:October,11月:November,12月:December
参考答案:
b= {1:'Jan.',2:'Feb.',3:'Mar.',4:'Apr.',5:'May.',6:'Jun.',
7:'Jul.',8:'Aug.',9:'Sep.',10:'Oct.',11:'Nov.',12:'Dec.'}
while True:
n=int(input("请输入您要查询的月份(阿拉伯数字):"))
if 1<=n<=12:
print(b[n])
else:
print("您输入的月份错误,请重新输入")
六、根据父母的身高,预测孩子的身高。孩子身高=(父亲身高+母亲身高)/2+6.5cm(10分)
参考答案:
a= float(input('请输入父亲身高/cm:'))
b= float(input('请输入母亲身高/cm:'))
print(f'孩子的身高预测为{(a+b)/2 + 6.5}cm')
七、输出1-100之间奇数的个数及奇数和。(10分)
参考答案:
a=0
b=0
for i in range(1,100,2):
a+=1
b+=i
print(f"1-100之间奇数的个数为{a}及奇数和为{b}")
八、请用python程序实现模拟用户验证登录(15分)
设计要求:
1.程序开始提示程序功能“模拟用户验证登陆”,并提示用户输入用户名“请输入用户名:”。(2分)
2. 如果用户名为空则报错“用户名不能为空”,如果用户名错误则报错“用户名错误”,如果用户名正确则提示“请输入密码:”。(3分)
3. 如果密码为空则提示“密码不能为空”,如果密码错误则提示“密码错误”。只有用户名和密码都正确时才提示“登陆成功!欢迎使用本软件”。(5分)
4. 正确的用户名请设置为自己的姓名,正确的密码请设置为自己学号的后6位。(5分)
参考答案:
print("模拟用户验证登陆")
while 1:
a= input("请输入用户名:")
if a=="":
print("用户名不能为空")
elif a!="admin":
print("用户名错误")
else:
b= input("请输密码:")
if b=="":
print("密码不能为空")
elif b!="123":
print("密码错误")
else:
print("登陆成功!欢迎使用本软件")
break
九、请用python程序实现用户信息录入(15分)
设计要求:
1.程序开始提示程序功能“用户信息录入”,并提示用户开始录入“请录入用户名:”(2分)
2.每次录入后显示“是否继续录入(Y/N)”提示,如果用户输入“n”或者“N”,则终止录入,否则继续提示“请录入用户名:”。(5分)
3.录入完毕后,请统计本次录入的用户人数。(3分)
4.输出所有已录入的用户名,用户名按照录入顺序编号(从1开始),每行只显示1个用户名。(5分)
参考答案:
print("用户信息录入")
a=[]
while 1:
b=input("请录入用户名:")
a.append(b)
c=input("是否继续录入?(Y/N)")
if c=="n" or c=="N":
break
print(f"已经录入{len(a)}条用户信息。具体用户信息如下:")
for i in range(len(a)):
print(f"{i+1}.{a[i]}")
十、请用python程序实现银行大写金额的自动转换(20分)
设计要求:
1. 实现9位以内数字金额的大写转换。(5分)
2. 大写金额读法与小写金额读法一致。(5分)
3. 金额中的数字可重复。(10分)
作业提示:0~9的大写汉字:零、壹、贰、叁、肆、伍、陆、柒、捌、玖。
9位以内的大写金额单位:圆、拾、佰、仟、萬、拾萬、佰萬、仟萬、亿。
参考答案:
# 银行金额大写汉字自动转换
print("银行金额大写汉字自动转换")
a=input("请输入金额(9位以内的阿拉伯数字)")
# 从键盘获取金额并存入列表a中
b=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']
# 建立列表b用户存储大写数字
c=['圆','拾','佰','仟','萬','拾','佰','仟','亿']
# 建立列表c用于存储金额单位
print(f"您输入的金额大写为",end=":")
d=len(a)
for i in a: # 遍历列表a
print(f"{b[int(i)]}{c[d-1]}",end=" ")
d=d-1
十一、利用循环结构输出如下9*9乘法表。(15分)
1×1=1 1×2=2 1×3=3 1×4=4 1×5=5 1×6=6 1×7=7 1×8=8 1×9=9
2×2=4 2×3=6 2×4=8 2×5=10 2×6=12 2×7=14 2×8=16 2×9=18
3×3=9 3×4=12 3×5=15 3×6=18 3×7=21 3×8=24 3×9=27
4×4=16 4×5=20 4×6=24 4×7=28 4×8=32 4×9=36
5×5=25 5×6=30 5×7=35 5×8=40 5×9=45
6×6=36 6×7=42 6×8=48 6×9=54
7×7=49 7×8=56 7×9=63
8×8=64 8×9=72
9×9=81
参考答案:
for i in range(1, 10):
for j in range(1,10):
if j<i:
print("\t", end='\t')
else:
print(f"{i}×{j}={i*j}", end="\t")
print()
十二、编程求出所有水仙花数。(水仙花数是一个3位数,各位上数字的三次方的和与其本身相等)(15分)
参考答案:
for i in range(100, 1000):
if i ==(i//100)**3+(i//10%10)**3+(i%10)**3:
print(i, end=" ")
print("就是所有的水仙花数")
十三、请用python程序实现摇骰子游戏(20分)
设计要求(游戏规则):
1.三粒骰子一起摇,点数和大于11结果为大,点数和小于11结果为小。(10分)
2.程序开始提示程序功能,并提示玩家输入要玩次数。(3分)
3.游戏结束输出摇玩的总次数,分别统计结果为大和结果为小的次数。(7分)
作业提示:
1.骰子的点数是1-6之间的随机整数,需要用到python标准库random。
2.程序运行速度是非常快的,让程序运行适当慢下来,可以增加游戏的可玩性。需要用到python标准库time中的sleep()方法。
参考答案:
import random as r
import time as t
print("摇骰子游戏")
n=int(input("请输入你需要玩的次数:"))
a,b,c=0,0,0
while 1:
d1=r.randint(1, 6)
d2=r.randint(1, 6)
d3=r.randint(1, 6)
s=d1+d3+d3
a+=1
if s>11:
print(f"点数{d1},{d2},{d3}->{s}点 大")
b+=1
else:
print(f"点数{d1},{d2},{d3}->{s}点 小")
c+=1
t.sleep(0.5)
if a==n:
print(f"您一摇玩了{a}次,{b}次大,{c}次小")
break
十四、编程题:请用python程序绘制一个五角星的图案(20分)
设计要求:
1.五角星五个角均匀分布。(5分)
2.五角星边框颜色和填充色不同(5分)
3.五角星下面有文字“五星五星我爱你!”(5分)
4.五角星和文字相对位置符合要求。(5分)
参考答案:
import turtle as t
t.pensize(5)
t.pencolor("yellow")
t.fillcolor("red")
t.pu()
t.goto(-200, 100)
t.pd()
t.begin_fill()
for i in range(5):
t.fd(400)
t.right(144)
t.end_fill()
t.pu()
t.color("red")
t.goto(-110, -200)
t.pd()
t.write("五星五星我爱你!", font=("微软雅黑", 24, "normal"))
t.ht()
t.exitonclick()