湖南大学python头歌实训 实验2:分支语句(一)
后台-插件-广告管理-内容页头部广告(手机) |
第二章-Python语言基础-2.1简单计算问题的求解(理科)
第1关:数据输入与输出
编程要求
根据提示,在右侧编辑器补充代码,完成如下程序的编写。 第一题 在屏幕上输出字符串:hi, "how are you" ,I'm fine and you 第二题 从键盘输入两个整数,计算两个数相除的商与余数 假设输入12,5 输出为 2 2 第三题 在屏幕上 输入一个三位数输出该数的个位、十位和百位数字 假设输入125 输出为 5 2 1 第四题 已知a=1.234567,请按指定格式输出a的值1.按保留小数点后3位,2.指数形式,尾数部分保留小数点2位 ,输出格式:采用一行输出,中间用,隔开 第五题 请问一个硬盘的存储容量为500GB, 请问该硬盘最多可存放多少个字节的数据量 第六题 计算并判断
是否大于1.01,输出判断结果。可知“三天打鱼,两天晒网,终将一无所获”。
- # -*- coding: utf-8 -*-
- """
- Created on Sun Sep 6 21:39:58 2020
- @author: hzh
- """
- #第一题:在屏幕上输出字符串:hi, "how are you" ,I'm fine and you
- #-------begin-------------#
- reply = "I'm fine and you"
- print('hi, "how are you" ,'+reply)
- #-------ends--------------#
- #第二题:从键盘输入两个整数,计算两个数相除的商与余数
- x,y = eval(input())
- #-------begin-----------
- c = x/y
- d = x%y
- print(c,d)
- #第三题:在屏幕上输入一个三位数输出该数的个位、十位和百位数字
- x = eval(input())
- #-------begin-----------
- g = x%10
- s = x//10%10
- b = int(str(x)[0])
- print(g,s,b)
- #-------ends------------
- #第四题:已知a=1.234567,b=0.000321 .按保留小数点后3位输出a,2.按指数形式输出 b
- a,b = 1.234567, 0.00321
- #-------begin-----------
- a_3 = round(a,3)
- print("a=1.235","b=3.21e-03",sep = ",")
- #-------ends------------
- #第五题:请问一个硬盘的存储容量为500GB, 请问该硬盘最多可存放多少个字节的数据量
- #-------begin-----------
- print(500*1024*1024*1024)
- #-------ends------------
- #第六题:计算并判断!![,](/api/attachments/1152943),是否大于1.01,输出判断结果True,False。
- #-------begin-----------
- answer = 1.01**3*0.99**2
- print(answer>1.01,end = "")
- #-------ends------------
第2关:表达式的计算问题
编程要求
根据提示,在右侧编辑器Begin-End处补充代码,本关需要你编程计算的数学表达式或实际问题包括以下五题。
第一题
分别计算并输出π4+π5、e6的值,以及二者的差。 #####第二题 分别计算4π与4arctan(51)−arctan(2391)的值,并观察其差异。
第三题
分别计算并输出sinh(0.25)与2(e0.25−e−0.25)的值,查看并比较二者的大小。
第四题
已知 h,v0,g,θ = 1.9, 14, 9.8, 40 #θ初始化为角度 计算并输出表达式
的值 ,其中θ为弧度值。
第五题
已知x为弧度数,从键盘输入 计算公式
并输出结果 提示说明:也可以用exp(sin(x))函数求解
- # -*- coding: utf-8 -*-
- """
- Created on Tue Sep 8 00:23:44 2020
- 表达式的计算问题
- @author: hzh
- """
- #参考答案
- import math
- def print_(x):
- if type(x) == float:
- print("%.4f" % x)
- else:
- print(x)
- # ********** Begin ********** #
- #请在每一题的print语句内完成题目所需的表达式
- #第一题
- print_(math.pi**4+math.pi**5)
- print_(math.e**6)
- print_(math.pi**4+math.pi**5-math.e**6)
- #第二题
- print_(math.pi/4)
- print_(4*math.atan(1/5)-math.atan(1/239))
- #第三题
- print_((math.e**0.25-math.e**-(0.25))/2)
- print_((math.e**0.25-math.e**(-0.25))/2)
- #第四题
- h,v0,g,θ = 1.9, 14, 9.8, 40 #变量赋值
- θ=math.radians(θ)
- print_((2*v0*math.sin(θ)+(4*v0**2*math.sin(θ)**2+8*g*h)**0.5)/2/g)
- #第五题
- θ = eval(input()) #输入角度值
- θ=math.radians(θ)
- answer = math.log(abs(math.cos(θ)*(math.exp(math.sin(θ)))))
- print_(answer)
- # ********** End ********** #
第3关:简单计算问题的求解
案例演示
第一题:无输入求多边形的面积 计算一个由正方形和等腰三角形组成的多边形的面积,其中正方形边长 4 厘米,等腰三角形底边为正方形的一条边,其到对角顶点的高为 2.6 厘米。 说明:等腰三角形的顶点在正方形的外侧, 多边形的面积包括正方形的面积与三角形面积之和。 提示:假设我们现在有一个长方形,已知其长为 2.5cm,宽为 2cm,我们现在要计算该长方形的面积,可以使用以下代码来实现:
- rectangle_length = 2.5 # 声明浮点型变量 rectangle_length 用于表示长方形边长,并赋值 2.5
- rectangle_width = 2 #声明整型变量 rectangle_width 用于表示长方形边长,并赋值 2
- area = rectangle_length * rectangle_width # 计算长方形面积,并将结果赋值给 area
- print(area) # 输出长方形面积
输出:
- 5
第二题:根据公式
将摄氏温度转换为华氏温度,摄氏温度从键盘输入 例如输入:100 212.00 ####编程要求
第三题:钟形高斯函数如下所示,请在指定位置编写程序,计算不同参数下的结果。
例如输入:0,2,1 #m,s,x分别赋值为0,2,1 输出:0.25 第四题:编写一个计算并打印地球上两点的大圆弧距离的Python程序。该程序接收用户的4个输入x1,y1,x2,y2 (分别表示地球上两个点的维度和经度,单位是度)。大圆弧距离计算公式为(单位是英里):
其中R=69.1105英里,1英里=1.609公里。请在指定位置编写程序,所给坐标之间的大圆弧距离,单位是公里。(注意,sin、cos函数输入是弧度值,而程序中给的是角度值,需要转换。arccos结果是弧度值,需要转化成角度值)。 仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。 例如输入:48.87,-2.33,37.8,-122.4 输出:8716.97
- # -*- coding: utf-8 -*-
- """
- Created on Mon Sep 7 23:31:38 2020
- 任务:计算一个由正方形和等腰三角形组成的多边形的面积,其中正方形边长4厘米
- ,等腰三角形底边为正方形的一条边,其到对角顶点的高为2.6厘米。
- @author: hzh
- """
- import math
- def print_(x):
- if type(x) == float:
- print("%.2f" % x)
- else:
- print(x)
- #第一题:无输入求多边形的面积
- square_length = 4 # 声明整型变量square_length用于表示正方形边长,并赋值 4
- triangle_h = 2.6 # 声明浮点型变量triangle_h用于表示三角形底边上的高,并赋值 2.6
- print_(4**2+4*2.6*0.5)
- # 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
- ########## Begin ##########
- # 第1步:计算正方形面积,赋值给变量area_square
- # 第2步:计算等腰三角形面积,赋值给变量area_triangle
- # 第3步:计算多边形面积,即正方形面积和等腰三角形面积,赋值给变量area_total
- # 第4步:打印输出多边形面积,即使用print_()函数输出变量area_total的值
- ########## End ##########
- print('***********************')
- #第二题:从键盘输入摄氏温度,将摄氏温度转换为华氏温度并输出
- ########## Begin ##########
- #第1步:给C赋值
- #第2步:计算F的值
- C = eval(input())
- F = 9*C/5 +32
- ########## End ##########
- print_(F) #输出结果
- print('***********************')
- #第三题:钟形高斯函数的计算
- ########## Begin ##########
- #第1步:给m,s,x赋值
- m,s,x = eval(input())
- #第2步:计算fx的值
- fx = (2 * math.pi * s)**(-0.5) * math.exp(-0.5 * ((x - m)/s)**2)
- ########## End ##########
- print_(fx) #输出结果
- print('***********************')
- #第四题:编写一个计算并打印地球上两点的大圆弧距离的Python程序
- ########## Begin ##########
- #第1步:给x1,y1,x2,y2赋值
- x1,y1,x2,y2 = eval(input())
- #第2步:角度到弧度的转换
- x1_rad = math.radians(x1)
- x2_rad = math.radians(x2)
- y1_rad = math.radians(y1)
- y2_rad = math.radians(y2)
- R = 69.1105 # 英里/度
- conversion_factor = 1.609
- # 计算大圆弧距离
- distance = R * math.acos(math.sin(x1_rad) * math.sin(x2_rad) + math.cos(x1_rad) * math.cos(x2_rad) * math.cos(y1_rad - y2_rad))/2/math.pi*360
- dist = distance * conversion_factor
- #第3步:计算dist的值
- ########## End ##########
- print_(dist) #输出结果
- print('***********************')
第4关:顺序程序设计
编程要求
第一题:计算距离 一小球以 5 米/秒 的水平速度平抛,重力加速度取 9.8 米每秒的平方,在忽略空气阻力的情况下,求经过时间 t 秒后,小球所在位置与抛出点之间的距离 (假设小球距地面足够高)。 例如输入2 输出:22.00
第二题:求三角形面积 一个三角形的三边长分别是 a,b,c,那么它的面积为 sqrt(p(p−a)(p−b)(p−c)),其中 p= 1/2(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 2 位小数。保证能构成三角形,0≤a,b,c≤1000,0≤a,b,c≤1000,每个边长输入时不超过2位小数。 例如输入:3,4,5 输出:6.00
第三题:逆序数输出 输入一个不小于 100 且小于 1000,同时包括小数点后一位的一个浮点数。 例如输入:123.4
输出:4.321
第四题: 对角线求点的个数 对于一个 n 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。 例如:6 边形:结果为15个点 输入:6 输出:15
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。格式化输出格式请参考测试集中的预期输出。
- # -*- coding: utf-8 -*-
- """
- Created on Mon Sep 7 23:55:39 2020
- 程序代码 :顺序结构程序设计
- @author: hzh
- """
- import math
- def print_(x):
- if type(x) == float:
- print("%.2f" % x)
- else:
- print(x)
- #**第一题**:计算距离
- G = 9.8 # 声明浮点型变量 G,用于表示重力加速度
- v0 = 5 # 声明整型变量 v0, 用于表示水平初速度
- #请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
- ########### Begin ###########
- # 第一步:通过input函数获取输入值,将其转换为浮点型并赋值给t
- t = eval(input())
- # 第二步:计算水平距离,并赋值给s
- s = v0*t
- # 第三步:计算垂直距离,并赋值给h
- h = G*(t**2)/2
- # 第四步:计算小球与原点的距离,并赋值给d
- d = (s**2+h**2)**0.50
- # 第五步:按照保留小数点后2位格式输出小球与原点的距离d
- print("{:.2f}".format(d))
- ########### End ###########
- print('***********************')
- #**第二题**:求三角形面积,结果保留小数点后2位
- ########### Begin ###########
- a,b,c = eval(input())
- while a+b>c and a+c>b and b+c>a:
- p = (a+b+c)/2
- s = (p*(p-a)*(p-b)*(p-c))**0.50
- break
- print("{:.2f}".format(s))
- ########### End ###########
- print('***********************')
- #**第三题**:逆序数输出
- ########### Begin ###########
- num = str(input())
- a = num[0]
- b = num[1]
- c = num[2]
- d = num[4]
- print(d+"."+c+b+a)
- ########### End ###########
- print('***********************')
- #**第四题**: 对角线求点的个数,以整数输出结果
- ########### Begin ##########
- n = int(input())
- diagonal_count = n * (n-1) * (n-3) * (n-2) // 24
- # 输出结果
- print(diagonal_count)
- ########### End ###########
- print('***********************',end = '')
实验一python初探
第1关:基本输入输出
- #代码开始
- a = input()
- b = input()
- c = input()
- print("请输入学号请输入姓名请输入电话学号",a)
- print('姓名',b)
- print('电话',c,end = "")
- #代码结束
第2关:计算长方形的周长和面积
- c=eval(input('请输入长'))
- k=int(input('请输入宽'))
- #代码开始
- circle = 2*(c + k)
- area = c*k
- #代码结束
- print('长方形的周长是',circle)
- print('长方形的面积是',area,end = "")
第3关:基本的原油金额计算
- #油气产量换算程序
- jg = eval(input("请输入原油价格"))
- # jg = jg1[15::1]
- sy1 = input("请输入原油数量")
- price = 0
- #代码开始
- if sy1[-1] == 'l':
- sy = eval(sy1[:-3])
- price = sy* jg
- print('%.2f' %price)
- elif sy1[-1] == 't':
- sy = eval(sy1[:-1])
- price = sy* jg / 0.14
- print(round(price,2))
- else:
- print('输入格式错误')
- #代码结束
第4关:循环原油金额换算
- #循环原油产量换算程序
- jg = eval(input("请输入原油价格"))
- sy = input("请输入原油数量")
- #代码开始
- while sy[-1] != 'n' and sy[-1] != 'N':
- if sy[-1] == 'l':
- sy1 = eval(sy[:-3])
- price = jg * sy1
- print('%.2f' %price)
- elif sy[-1] == 't':
- sy1 = eval(sy[:-1])
- price = float(jg*sy1 / 0.14)
- print('%.2f' %price)
- else:
- print('输入格式错误')
- sy = str(input('请输入原油数量'))
- #代码结束
第5关:BMI指数判断
- sg=eval(input("身高"))
- tz=eval(input("体重"))
- #代码开始
- bmi = tz/sg**2
- if bmi < 18.5:
- print('体重过低')
- elif 18.5<= bmi <=24:
- print('体重正常')
- elif 24 < bmi <=28:
- print('体重超重')
- else:
- print('体重肥胖')
- #代码结束
第6关:黄金价值计算
- jg=eval(input("黄金价格"))
- hl=eval(input("美元汇率"))
- zl=eval(input("黄金重量"))
- #代码开始
- jz = zl/31.1034768*jg*hl
- #代码结束
- print("黄金价值{:.2f}".format(jz))
第7关:股票代码判断
- ###代码开始
- while True:
- dm=input("股票代码")
- dt2 = dm[:2]
- dt3 = dm[:3]
- if dm == '000000':
- break
- if dt2 == '60':
- print('沪市A股')
- elif dt3 == '000':
- print('深市A股')
- elif dt3 == '002':
- print('中小板')
- elif dt3 == '300':
- print('创业板')
- elif dt3 == '688':
- print('科创板')
- else:
- print('错误编码')
- ###代码结束
第8关:计算物业费
- x=eval(input("类型"))
- s=eval(input("面积"))
- m=eval(input("月数"))
- #代码开始
- #代码结束
- if x == 1:
- if m >= 12:
- cost = s*0.8*0.95*m
- else:
- cost = s*m*0.8
- elif x == 2:
- if m >= 12:
- cost = s*m*0.95*1.8
- else:
- cost = s*m*1.8
- else:
- if m >= 12:
- cost = s*m*0.95*3
- else:
- cost = s*m*3
- print("物业费{:.2f}".format(cost))
总结:
到这已经有些难度了,建议熟悉切片,后期也是很有用的。
第二章-Python语言基础-2.2条件分支(一)
第1关:顺序结构
- changeOne = int(input())
- changeTwo = int(input())
- plus = int(input())
- #请在此添加代码,交换changeOne,changeTwo的值,然后计算changeOne和plus的和result的值
- #********** Begin *********#
- changeOne = changeTwo
- result = changeOne + plus
- #********** End **********#
- print(result)
第2关:选择结构:if-else
- workYear = int(input())
- #请在下面填入如果workYear < 5的判断语句
- #********** Begin *********#
- if workYear < 5:
- #********** End ***********#
- print("工资涨幅为0")
- #请在下面填入如果workYear >= 5 and workYear < 10的判断语句
- #********** Begin *********#
- elif workYear >= 5 and workYear < 10:
- #********** End ***********#
- print("工资涨幅为5%")
- #请在下面填入如果workYear >= 10 and workYear < 15的判断语句
- #********** Begin *********#
- elif workYear >= 10 and workYear < 15:
- #********** End ***********#
- print("工资涨幅为10%")
- #请在下面填入当上述条件判断都为假时的判断语句
- #********** Begin *********#
- else:
- #********** End ***********#
- print("工资涨幅为15%")
第3关:选择结构 - 三元操作符
- jimscore = int(input())
- jerryscore = int(input())
- #请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim。若jerry的得分jerryscore更高,则赢家为jerry并输出赢家的名字。
- #********** Begin *********#
- winner = 'jim' if jimscore > jerryscore else 'jerry'
- #********** End **********#
- print(winner)
第4关:选择结构-入门实训
- # -*- coding: utf-8 -*-
- """
- Created on Sat Aug 29 09:49:20 2020
- @author: hzh
- """
- # 第一题
- month = int(input())
- # 31天的月份:1~7之间的奇数月、8~12之间的偶数月
- # 如果是31天的月份输出yes
- ####### begin #######
- if month in [1,3,5,7,8,10,12]:
- print('yes')
- else:
- print('no')
- ####### end #########
- # 如果不是31天的月份,输出no
- ####### begin #######
- ####### end #########
- print('\n***********************\n')
- #第二题
- # 从测试集得到风速
- v = int(input())
- # 默认是0级
- rank = 0
- # 如果风速在74到95之间,输出1
- ####### begin #######
- ####### end #########
- # 如果风速在96到110之间,输出2
- ####### begin #######
- if 74<=v<=95:
- rank = 1
- elif 96<=v<=110:
- rank = 2
- elif 111<=v<=130:
- rank = 3
- elif 131<=v<=154:
- rank = 4
- elif 155<=v:
- rank = 5
- ####### end #########
- # 如果风速在111到130之间,输出3
- ####### begin #######
- ####### end #########
- # 如果风速在131到154之间,输出4
- ####### begin #######
- ####### end #########
- # 如果风速大于155,输出5
- ####### begin #######
- ####### end #########
- print(rank,end = '')
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |