您现在的位置是:首页 > 技术教程 正文

湖南大学python头歌实训 实验2:分支语句(一)

admin 阅读: 2024-03-25
后台-插件-广告管理-内容页头部广告(手机)

第二章-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,输出判断结果。可知“三天打鱼,两天晒网,终将一无所获”。

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Sun Sep 6 21:39:58 2020
  4. @author: hzh
  5. """
  6. #第一题:在屏幕上输出字符串:hi, "how are you" ,I'm fine and you
  7. #-------begin-------------#
  8. reply = "I'm fine and you"
  9. print('hi, "how are you" ,'+reply)
  10. #-------ends--------------#
  11. #第二题:从键盘输入两个整数,计算两个数相除的商与余数
  12. x,y = eval(input())
  13. #-------begin-----------
  14. c = x/y
  15. d = x%y
  16. print(c,d)
  17. #第三题:在屏幕上输入一个三位数输出该数的个位、十位和百位数字
  18. x = eval(input())
  19. #-------begin-----------
  20. g = x%10
  21. s = x//10%10
  22. b = int(str(x)[0])
  23. print(g,s,b)
  24. #-------ends------------
  25. #第四题:已知a=1.234567,b=0.000321 .按保留小数点后3位输出a,2.按指数形式输出 b
  26. a,b = 1.234567, 0.00321
  27. #-------begin-----------
  28. a_3 = round(a,3)
  29. print("a=1.235","b=3.21e-03",sep = ",")
  30. #-------ends------------
  31. #第五题:请问一个硬盘的存储容量为500GB, 请问该硬盘最多可存放多少个字节的数据量
  32. #-------begin-----------
  33. print(500*1024*1024*1024)
  34. #-------ends------------
  35. #第六题:计算并判断!![,](/api/attachments/1152943),是否大于1.01,输出判断结果True,False。
  36. #-------begin-----------
  37. answer = 1.01**3*0.99**2
  38. print(answer>1.01,end = "")
  39. #-------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))函数求解

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Tue Sep 8 00:23:44 2020
  4. 表达式的计算问题
  5. @author: hzh
  6. """
  7. #参考答案
  8. import math
  9. def print_(x):
  10. if type(x) == float:
  11. print("%.4f" % x)
  12. else:
  13. print(x)
  14. # ********** Begin ********** #
  15. #请在每一题的print语句内完成题目所需的表达式
  16. #第一题
  17. print_(math.pi**4+math.pi**5)
  18. print_(math.e**6)
  19. print_(math.pi**4+math.pi**5-math.e**6)
  20. #第二题
  21. print_(math.pi/4)
  22. print_(4*math.atan(1/5)-math.atan(1/239))
  23. #第三题
  24. print_((math.e**0.25-math.e**-(0.25))/2)
  25. print_((math.e**0.25-math.e**(-0.25))/2)
  26. #第四题
  27. h,v0,g,θ = 1.9, 14, 9.8, 40 #变量赋值
  28. θ=math.radians(θ)
  29. print_((2*v0*math.sin(θ)+(4*v0**2*math.sin(θ)**2+8*g*h)**0.5)/2/g)
  30. #第五题
  31. θ = eval(input()) #输入角度值
  32. θ=math.radians(θ)
  33. answer = math.log(abs(math.cos(θ)*(math.exp(math.sin(θ)))))
  34. print_(answer)
  35. # ********** End ********** #

第3关:简单计算问题的求解

案例演示

第一题:无输入求多边形的面积 计算一个由正方形和等腰三角形组成的多边形的面积,其中正方形边长 4 厘米,等腰三角形底边为正方形的一条边,其到对角顶点的高为 2.6 厘米。 说明:等腰三角形的顶点在正方形的外侧, 多边形的面积包括正方形的面积与三角形面积之和。 提示:假设我们现在有一个长方形,已知其长为 2.5cm,宽为 2cm,我们现在要计算该长方形的面积,可以使用以下代码来实现:

  1. rectangle_length = 2.5 # 声明浮点型变量 rectangle_length 用于表示长方形边长,并赋值 2.5
  2. rectangle_width = 2 #声明整型变量 rectangle_width 用于表示长方形边长,并赋值 2
  3. area = rectangle_length * rectangle_width # 计算长方形面积,并将结果赋值给 area
  4. print(area) # 输出长方形面积

输出:

  1. 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

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Mon Sep 7 23:31:38 2020
  4. 任务:计算一个由正方形和等腰三角形组成的多边形的面积,其中正方形边长4厘米
  5. ,等腰三角形底边为正方形的一条边,其到对角顶点的高为2.6厘米。
  6. @author: hzh
  7. """
  8. import math
  9. def print_(x):
  10. if type(x) == float:
  11. print("%.2f" % x)
  12. else:
  13. print(x)
  14. #第一题:无输入求多边形的面积
  15. square_length = 4 # 声明整型变量square_length用于表示正方形边长,并赋值 4
  16. triangle_h = 2.6 # 声明浮点型变量triangle_h用于表示三角形底边上的高,并赋值 2.6
  17. print_(4**2+4*2.6*0.5)
  18. # 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
  19. ########## Begin ##########
  20. # 第1步:计算正方形面积,赋值给变量area_square
  21. # 第2步:计算等腰三角形面积,赋值给变量area_triangle
  22. # 第3步:计算多边形面积,即正方形面积和等腰三角形面积,赋值给变量area_total
  23. # 第4步:打印输出多边形面积,即使用print_()函数输出变量area_total的值
  24. ########## End ##########
  25. print('***********************')
  26. #第二题:从键盘输入摄氏温度,将摄氏温度转换为华氏温度并输出
  27. ########## Begin ##########
  28. #第1步:给C赋值
  29. #第2步:计算F的值
  30. C = eval(input())
  31. F = 9*C/5 +32
  32. ########## End ##########
  33. print_(F) #输出结果
  34. print('***********************')
  35. #第三题:钟形高斯函数的计算
  36. ########## Begin ##########
  37. #第1步:给m,s,x赋值
  38. m,s,x = eval(input())
  39. #第2步:计算fx的值
  40. fx = (2 * math.pi * s)**(-0.5) * math.exp(-0.5 * ((x - m)/s)**2)
  41. ########## End ##########
  42. print_(fx) #输出结果
  43. print('***********************')
  44. #第四题:编写一个计算并打印地球上两点的大圆弧距离的Python程序
  45. ########## Begin ##########
  46. #第1步:给x1,y1,x2,y2赋值
  47. x1,y1,x2,y2 = eval(input())
  48. #第2步:角度到弧度的转换
  49. x1_rad = math.radians(x1)
  50. x2_rad = math.radians(x2)
  51. y1_rad = math.radians(y1)
  52. y2_rad = math.radians(y2)
  53. R = 69.1105 # 英里/度
  54. conversion_factor = 1.609
  55. # 计算大圆弧距离
  56. 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
  57. dist = distance * conversion_factor
  58. #第3步:计算dist的值
  59. ########## End ##########
  60. print_(dist) #输出结果
  61. 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

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。格式化输出格式请参考测试集中的预期输出。

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Mon Sep 7 23:55:39 2020
  4. 程序代码 :顺序结构程序设计
  5. @author: hzh
  6. """
  7. import math
  8. def print_(x):
  9. if type(x) == float:
  10. print("%.2f" % x)
  11. else:
  12. print(x)
  13. #**第一题**:计算距离
  14. G = 9.8 # 声明浮点型变量 G,用于表示重力加速度
  15. v0 = 5 # 声明整型变量 v0, 用于表示水平初速度
  16. #请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
  17. ########### Begin ###########
  18. # 第一步:通过input函数获取输入值,将其转换为浮点型并赋值给t
  19. t = eval(input())
  20. # 第二步:计算水平距离,并赋值给s
  21. s = v0*t
  22. # 第三步:计算垂直距离,并赋值给h
  23. h = G*(t**2)/2
  24. # 第四步:计算小球与原点的距离,并赋值给d
  25. d = (s**2+h**2)**0.50
  26. # 第五步:按照保留小数点后2位格式输出小球与原点的距离d
  27. print("{:.2f}".format(d))
  28. ########### End ###########
  29. print('***********************')
  30. #**第二题**:求三角形面积,结果保留小数点后2位
  31. ########### Begin ###########
  32. a,b,c = eval(input())
  33. while a+b>c and a+c>b and b+c>a:
  34. p = (a+b+c)/2
  35. s = (p*(p-a)*(p-b)*(p-c))**0.50
  36. break
  37. print("{:.2f}".format(s))
  38. ########### End ###########
  39. print('***********************')
  40. #**第三题**:逆序数输出
  41. ########### Begin ###########
  42. num = str(input())
  43. a = num[0]
  44. b = num[1]
  45. c = num[2]
  46. d = num[4]
  47. print(d+"."+c+b+a)
  48. ########### End ###########
  49. print('***********************')
  50. #**第四题**: 对角线求点的个数,以整数输出结果
  51. ########### Begin ##########
  52. n = int(input())
  53. diagonal_count = n * (n-1) * (n-3) * (n-2) // 24
  54. # 输出结果
  55. print(diagonal_count)
  56. ########### End ###########
  57. print('***********************',end = '')

 实验一python初探

第1关:基本输入输出

  1. #代码开始
  2. a = input()
  3. b = input()
  4. c = input()
  5. print("请输入学号请输入姓名请输入电话学号",a)
  6. print('姓名',b)
  7. print('电话',c,end = "")
  8. #代码结束

第2关:计算长方形的周长和面积

  1. c=eval(input('请输入长'))
  2. k=int(input('请输入宽'))
  3. #代码开始
  4. circle = 2*(c + k)
  5. area = c*k
  6. #代码结束
  7. print('长方形的周长是',circle)
  8. print('长方形的面积是',area,end = "")

第3关:基本的原油金额计算

  1. #油气产量换算程序
  2. jg = eval(input("请输入原油价格"))
  3. # jg = jg1[15::1]
  4. sy1 = input("请输入原油数量")
  5. price = 0
  6. #代码开始
  7. if sy1[-1] == 'l':
  8. sy = eval(sy1[:-3])
  9. price = sy* jg
  10. print('%.2f' %price)
  11. elif sy1[-1] == 't':
  12. sy = eval(sy1[:-1])
  13. price = sy* jg / 0.14
  14. print(round(price,2))
  15. else:
  16. print('输入格式错误')
  17. #代码结束

第4关:循环原油金额换算

  1. #循环原油产量换算程序
  2. jg = eval(input("请输入原油价格"))
  3. sy = input("请输入原油数量")
  4. #代码开始
  5. while sy[-1] != 'n' and sy[-1] != 'N':
  6. if sy[-1] == 'l':
  7. sy1 = eval(sy[:-3])
  8. price = jg * sy1
  9. print('%.2f' %price)
  10. elif sy[-1] == 't':
  11. sy1 = eval(sy[:-1])
  12. price = float(jg*sy1 / 0.14)
  13. print('%.2f' %price)
  14. else:
  15. print('输入格式错误')
  16. sy = str(input('请输入原油数量'))
  17. #代码结束

第5关:BMI指数判断

  1. sg=eval(input("身高"))
  2. tz=eval(input("体重"))
  3. #代码开始
  4. bmi = tz/sg**2
  5. if bmi < 18.5:
  6. print('体重过低')
  7. elif 18.5<= bmi <=24:
  8. print('体重正常')
  9. elif 24 < bmi <=28:
  10. print('体重超重')
  11. else:
  12. print('体重肥胖')
  13. #代码结束

第6关:黄金价值计算

  1. jg=eval(input("黄金价格"))
  2. hl=eval(input("美元汇率"))
  3. zl=eval(input("黄金重量"))
  4. #代码开始
  5. jz = zl/31.1034768*jg*hl
  6. #代码结束
  7. print("黄金价值{:.2f}".format(jz))

第7关:股票代码判断

  1. ###代码开始
  2. while True:
  3. dm=input("股票代码")
  4. dt2 = dm[:2]
  5. dt3 = dm[:3]
  6. if dm == '000000':
  7. break
  8. if dt2 == '60':
  9. print('沪市A股')
  10. elif dt3 == '000':
  11. print('深市A股')
  12. elif dt3 == '002':
  13. print('中小板')
  14. elif dt3 == '300':
  15. print('创业板')
  16. elif dt3 == '688':
  17. print('科创板')
  18. else:
  19. print('错误编码')
  20. ###代码结束

第8关:计算物业费

  1. x=eval(input("类型"))
  2. s=eval(input("面积"))
  3. m=eval(input("月数"))
  4. #代码开始
  5. #代码结束
  6. if x == 1:
  7. if m >= 12:
  8. cost = s*0.8*0.95*m
  9. else:
  10. cost = s*m*0.8
  11. elif x == 2:
  12. if m >= 12:
  13. cost = s*m*0.95*1.8
  14. else:
  15. cost = s*m*1.8
  16. else:
  17. if m >= 12:
  18. cost = s*m*0.95*3
  19. else:
  20. cost = s*m*3
  21. print("物业费{:.2f}".format(cost))

总结:

到这已经有些难度了,建议熟悉切片,后期也是很有用的。

第二章-Python语言基础-2.2条件分支(一)

第1关:顺序结构

  1. changeOne = int(input())
  2. changeTwo = int(input())
  3. plus = int(input())
  4. #请在此添加代码,交换changeOne,changeTwo的值,然后计算changeOne和plus的和result的值
  5. #********** Begin *********#
  6. changeOne = changeTwo
  7. result = changeOne + plus
  8. #********** End **********#
  9. print(result)

第2关:选择结构:if-else

  1. workYear = int(input())
  2. #请在下面填入如果workYear < 5的判断语句
  3. #********** Begin *********#
  4. if workYear < 5:
  5. #********** End ***********#
  6. print("工资涨幅为0")
  7. #请在下面填入如果workYear >= 5 and workYear < 10的判断语句
  8. #********** Begin *********#
  9. elif workYear >= 5 and workYear < 10:
  10. #********** End ***********#
  11. print("工资涨幅为5%")
  12. #请在下面填入如果workYear >= 10 and workYear < 15的判断语句
  13. #********** Begin *********#
  14. elif workYear >= 10 and workYear < 15:
  15. #********** End ***********#
  16. print("工资涨幅为10%")
  17. #请在下面填入当上述条件判断都为假时的判断语句
  18. #********** Begin *********#
  19. else:
  20. #********** End ***********#
  21. print("工资涨幅为15%")

第3关:选择结构 - 三元操作符

  1. jimscore = int(input())
  2. jerryscore = int(input())
  3. #请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim。若jerry的得分jerryscore更高,则赢家为jerry并输出赢家的名字。
  4. #********** Begin *********#
  5. winner = 'jim' if jimscore > jerryscore else 'jerry'
  6. #********** End **********#
  7. print(winner)

第4关:选择结构-入门实训

  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Sat Aug 29 09:49:20 2020
  4. @author: hzh
  5. """
  6. # 第一题
  7. month = int(input())
  8. # 31天的月份:1~7之间的奇数月、8~12之间的偶数月
  9. # 如果是31天的月份输出yes
  10. ####### begin #######
  11. if month in [1,3,5,7,8,10,12]:
  12. print('yes')
  13. else:
  14. print('no')
  15. ####### end #########
  16. # 如果不是31天的月份,输出no
  17. ####### begin #######
  18. ####### end #########
  19. print('\n***********************\n')
  20. #第二题
  21. # 从测试集得到风速
  22. v = int(input())
  23. # 默认是0级
  24. rank = 0
  25. # 如果风速在74到95之间,输出1
  26. ####### begin #######
  27. ####### end #########
  28. # 如果风速在96到110之间,输出2
  29. ####### begin #######
  30. if 74<=v<=95:
  31. rank = 1
  32. elif 96<=v<=110:
  33. rank = 2
  34. elif 111<=v<=130:
  35. rank = 3
  36. elif 131<=v<=154:
  37. rank = 4
  38. elif 155<=v:
  39. rank = 5
  40. ####### end #########
  41. # 如果风速在111到130之间,输出3
  42. ####### begin #######
  43. ####### end #########
  44. # 如果风速在131到154之间,输出4
  45. ####### begin #######
  46. ####### end #########
  47. # 如果风速大于155,输出5
  48. ####### begin #######
  49. ####### end #########
  50. print(rank,end = '')
标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索