武汉理工大学 python实验一

第1关:欢迎入学

开学了,你考上了武汉理工大学,校园的电子屏上显示着以下欢迎界面:

|++++++++++++++++++++++|| || Welcome to WHUT || ||++++++++++++++++++++++|

以下为代码区:

print('|++++++++++++++++++++++|')print('| |')print('| Welcome to WHUT |')print('| |')print('|++++++++++++++++++++++|')

编程要求

根据提示,在右侧编辑器补充代码,完成相关任务的编程。

编写程序,用户入自己的姓名,输出以上界面后,再在下一行输出“欢迎您,***同学!”

代码

my_name = input()
print('|++++++++++++++++++++++|')
print('|                      |')
print('|   Welcome to WHUT    |')
print('|                      |')
print('|++++++++++++++++++++++|')
print(f"欢迎您,{my_name}同学!") 

第2关:整数四则运算

任务描述

编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内且除数不为0。

输入格式

在第一行中接收一个正整数A 在第二行中接收一个正整数B

输出格式

在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

代码

a = int(input())
b = int(input())
print("{} + {} = {}".format(a, b, a + b))
print("{} - {} = {}".format(a, b, a - b))
print("{} * {} = {}".format(a, b, a * b))
print("{} / {} = {}".format(a, b, a / b))

第3关:学费计算

任务描述

本关任务:编写一个学费计算的小程序。

问题描述

大学第一学期必选课程及其学分如下:

Python高等数学大学英语大学体育军事理论哲学
3学分4学分4学分2学分2学分2学分

表1:课程学分详情

请计算并输出大学第一学期共修多少学分?输入每学分应缴纳的学费(整数,单位为元),计算并输出第一学期应缴纳多少学费?输出格式请参考输入输出示例。

编程示例:

  1. python = 3
  2. math = 4
  3. credits = (python + math)
  4. print(f'选修了{credits}个学分。')

代码 

python = 3
math = 4
english = 4
physical = 2
military_theory = 2
philosophy = 2

f=eval(input())
a=python+math+english+physical+military_theory+philosophy
print(f"你本学期选修了{a}个学分。")
zf=f*(python+math+english+physical+military_theory+philosophy)
print(f"你应缴纳的学费为{zf}元。")

第4关:助学贷款

任务描述

本关任务:编写一个计算助学贷款数量的小程序。

为了完成本关任务,你需要掌握: 1.助学贷款问题描述

助学贷款问题描述

大学第一学期必选课程及其学分如下:

Python高等数学大学英语大学体育军事理论哲学
3学分4学分4学分2学分2学分2学分

表1:课程学分详情

大学可以申请助学贷款,申请额度不超过学费和生活费总额的 `60%`,输入你每个月的生活费(浮点数),请计算你每个学期能够贷款多少元?(结果保留小数点后 `2` 位数字,每个学期按 `5` 个月计算)

代码示例:

 
  1. tuition_per_credit = 20 #每学分缴费金额
  2. total_credits = 30 #总学分
  3. total_tuition = total_credits * tuition_per_credit
  4. living_expenses = 400
  5. total_cost = living_expenses * 5 + total_tuition
  6. student_loan = total_cost * 0.6
  7. print(f'本学期你能够贷款{student_loan:.2f}元。')

输出:本学期你能够贷款600元。

代码

a = eval(input("请输入每学分学费金额:"))
b = eval(input("请输入你每个月生活费:"))
dai = (a*17+b*5)*0.6
print("本学期你能够贷款%0.2f元"%dai)

第5关:计算圆的半径

任务描述

本关任务:编写一个能计算圆的半径的小程序。

相关知识

为了完成本关任务,你需要掌握:

  1. 圆的半径求解

圆的半径求解

如下图,AB 是圆的一条弦,ABC 形成一个弓形,在两行中分别输入 ABCD 的长度,计算并输出该圆的半径的大小,结果均严格保留小数点后2位有效数字,应用三角函数和反三角函数时查阅math模块文档或利用自动补全完成。

图1:圆半径的求解

从图中可知:

AD=AB/2
OA2=AD2+OD2
OD=OC–CD=OA–CD

代入后可得 OA=(AD2+CD2)/(2∗CD)

代码

import math
AB=eval(input())
CD=eval(input())
AD=AB/2
OA = (AD**2+CD**2)/(2*CD)
print("%0.2f"%OA)

第6关:计算弓形的面积

任务描述

本关任务:编写一个能计算弓形的面积的小程序。

为了完成本关任务,你需要掌握:

弓形面积求解

如下图,AB是圆的一条弦,ABC形成一个弓形,在两行中分别输入ABCD的长度,计算弓形ABC面积的大小, ** 结果均严格保留小数点后2位有效数字 **。 应用三角函数和反三角函数时查阅math模块文档或利用代码自动补全完成。

图1: 弓形面积的求解

从图中可知:

AD=AB/2 OA2=AD2+OD2 OD=OC–CD=OA–CD

代入后可得 OA=(AD2+CD2)/(2∗CD)

圆心角: sin(∠AOB/2)=AD/OA ∠AOB=2∗arcsin(AD/OA) 可使用math.asin()求arcsin()值 扇形AOB的面积为: sector=∠AOB/(2π)∗π∗OA2

三角形 △AOB triangle=1/2∗OA2∗sin(∠AOB)

弓形面积为扇形AOB面积减去三角形△AOB 面积之差:

arch=sector−triangle

代码

import math
AB = eval(input())
CD = eval(input())
AD = 1/2*AB
OA = (AD**2+CD**2)/(2*CD)
AOB = 2*math.asin(AD/OA)
SS = AOB/(2*math.pi)*math.pi*OA**2
ST = 1/2*OA**2*math.sin(AOB)
print("%0.2f"%(SS-ST))

第7关:地球数据计算

地球表面积、体积、周长的计算公式

地球的半径是6371km,假设地球是一个规则的球体,完成以下计算并依次分行输出结果, 注意结果保留2位小数,输出格式请参考输入输出示例。π值引用math库中常数``的值。

计算地球表面积(表面积公式S=4πR2) 计算地球体积(体积公式是V=4πR3/3) 计算地球赤道的周长(圆周长公式是L=2πR ) 注意:为避免浮点数除法顺序导致运算精度问题,必须严格按照本题所给公式顺序运算

代码示例:

 
  1. import math
  2. radius = 2
  3. # 1. 计算圆的面积
  4. area = math.pi * radius * radius
  5. print(f'圆面积为{area}平方米')

问题描述

假设有一根绳子正好可以紧贴地球绕赤道一周,紧密的捆绑住地球。现在将绳子延长1m,仍围绕地球赤道一周,假设绳子与地球表面空隙均匀,计算绳子与地球之间的空隙大小。判断一只正常大小的老鼠能否从这个空隙穿过?可假设老鼠身体截面为圆柱,且圆柱最粗处直径为10cm,若空隙大于10cm,输出:“老鼠可以从空隙中钻过”,否则输出:“老鼠无法通过空隙”。根据判定结果进行输出时,可以用if 条件表达式进行判定,满足条件时的输出放在if 分支下的缩进语句块中;不满足条件的输出放在与if 对齐的 else 分支下的缩进语句块里。

,

编程要求

根据提示,在右侧编辑区补充代码,计算并输出计算地球的相关数据,以及老鼠是否能通过空隙。

代码

import math
r1 = 6371*1000
S = 4*math.pi*r1**2
V = (4*math.pi*r1**3)/3
L1 = 2*math.pi*r1
L2 = 2*math.pi*r1+1
r2 = L2/(2*math.pi)
cha = r2-r1
print("地球表面积为{:.2f}平方米".format(S))
print("地球体积为{:.2f}立方米".format(V))
print("地球赤道周长为{:.2f}米".format(L1))
print("空隙大小为{:.2f}米".format(cha))
if cha>=0.1:
    print("老鼠可以从空隙中钻过")
else:
    print("老鼠无法通过空隙")

第8关:时间计算

任务描述

本关任务:输入24小时制的小时,分钟,秒,以标准时间格式输出,并计算距离当日午夜24点整的秒数。 分三行按顺序分别输入小时,分钟,秒。

相关知识

格式控制串中的{}内使用:0n,可以让输出数据输出宽度为n,默认左补0。 例如:

 
  1. a=8
  2. print(f'{a:05}')
  3. print('{:05}'.format(a))

输出:

00008 00008

代码

hour = int(input())
minute = int(input())
second = int(input())
h = hour*3600
m = minute*60
print("{:02}:{:02}:{:02}".format(hour,minute,second))
print(f"距离午夜还剩余{24*3600-h-m-second}秒")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值