Python程序设计 2021秋计算和人工智能期中商科2

27 篇文章 10 订阅

2021秋计算和人工智能期中商科2

第1关:矩形面积的计算

编写一个程序根据对角线长度和夹角度数计算矩形面积。 矩形面积如下所示

输入对角线长度和夹角度数,计算并显示矩形面积 要求结果显示两位小数

d=eval(input("对角线长度"))
a=eval(input("夹角度数"))
#代码开始
import math
s = (d**2*math.sin(a*math.pi/180))/2
print("面积%.2f"%s)
#代码结束

第2关:停车费计算

编写一个计算停车费的小程序。 某停车场的收费标准为30分钟内(含30分钟)免费,2小时内(含2小时)6元,超过2小时则2元每小时(不足1小时的按照1小时计算),最高不超过38元。 输入车辆的停车时间(按分钟计算),计算其停车费。

x=eval(input("停车时间"))
#代码开始
import math
if x<=30:
    f = 0
elif x <= 120:
    f = 6
elif x > 120:
    f = math.ceil((x - 120)/60)*2+6
    if f > 38:
        f = 38

#代码结束
print("停车费{}元".format(f))

第3关:固定资产投资收益计算

编写一个计算固定资产投资收益的小程序。 某投资人购买了一固定资产出租,该资产每年租金x元,且每2年增加1%。(即第2年、第4年、第6年、第8年等) 该投资人每年底将前期收益和该年租金存入银行一年定期,年利率为r。 输入年租金x,一年定期年利率r,计算该储户10年每年的收益总额。

x=eval(input("年租金"))
r=eval(input("年利率"))
#代码开始
s = x
for i in range(1, 11): 
    print("第{}年收益{:.2f}".format(i,s))
    if (i + 1) % 2 == 0:
        x *= 1.01
    s += s * r
    s += x

#代码结束

第4关:字符串省份信息查询

编写一个输入省份信息,显示其简称的小程序。 在源程序中,mc字符串中存储了各直辖市和省份的名称,每个三位。 jc字符串存储了相应的各直辖市和省份的简称,每个一位。 编写程序,输入省份名称,显示对应的简称。若输入的省份不存在,显示名称错误。

mc="北京市上海市天津市重庆市黑龙江吉林省辽宁省河北省甘肃省青海省陕西省河南省山东省山西省安徽省湖北省湖南省江苏省四川省贵州省云南省广西省浙江省江西省广东省福建省海南省内蒙古新疆省广西省宁夏省西藏省"
jc="京沪津渝黑吉辽冀甘青陕豫鲁晋皖鄂湘苏川黔滇桂浙赣粤闽琼内新桂宁藏"
x=input("省份名称")
#代码开始
if x in mc:
    index1 = mc.index(x)
    print("省份简称%s"%jc[int(index1/3)])
else:
    print("名称错误")
#代码结束

第5关:宋词作者查询

编写一个能查询宋词作者的小程序。 宋词.txt文件如下所示,标题行显示词牌名和作者名

编写程序,输入作者名称,显示序号和作者所在的标题行。 最后显示一共n首作品 若没有该作者的作品,显示没有作品。 注意; 序号和标题行之间有空格

 

f1=open("2021qz//宋词.txt","r",encoding="utf8")
x=input("作者")
#代码开始
n = 0
for i in f1:
    i = i.strip()
    if x in i:
        n += 1
        print(n,i)
if n > 0:
    print("一共{}首作品".format(n))
else:
    print("没有作品")


#代码结束
f1.close()

第6关:验证四方定理

四方定理为:所有的自然数最多用四个数的平方和就可以表示出来。 例如: 25=1*1+2*2+2*2+4*4 5=0*0+1*1+1*1+2*2 编写一个程序,输入一个整数,将其表示为平方和相加的形式。若有多种情况符合要求,只需要显示第一种

x=eval(input())
#代码开始
import math
def squares(n):
    for a in range(int(math.sqrt(n)) + 1):
        for b in range(int(math.sqrt(n - a**2)) + 1):
            for c in range(int(math.sqrt(n - a**2 - b**2)) + 1):
                d = math.sqrt(n - a**2 - b**2 - c**2)
                if d.is_integer():
                    return f"{a} {b} {c} {int(d)}"


print(squares(x))


#代码结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值