当前位置:   article > 正文

Python-基础练习_编程实现输入你的身高和体重,输出对应的肥胖程度。

编程实现输入你的身高和体重,输出对应的肥胖程度。

Python-基础练习

 

  1. '''练习'''
  2. '''
  3. 1.身体质量指数(BMI,Body Mass Index)是国际上常用的衡量人体肥胖程度和是否健康的重要标准,计算公式为:BMI=体重/身高的平方(国际单位kg/㎡)。中国的成年人BMI数值定义为:
  4. 过轻:低于18.5
  5. 正常:18.5-23.9
  6. 过重:24-27.9
  7. 肥胖:高于28
  8. 请输入体重和身高,输出相应的BMI值和体重肥胖程度判断结果(too thin、normal、overweight或fat)。
  9. [输入样例]
  10. 60,1.6
  11. [输出样例]
  12. Your BMI is 23.4
  13. normal
  14. [提示]
  15. 程序中体重和身高的输入可用“weight, height = eval(input())”语句表示。
  16. import math
  17. weight,height = eval(input())
  18. bmi_val = weight/math.pow(height,2)
  19. print('Your BMI is %.1f'%bmi_val)
  20. if bmi_val<18.5:
  21. print('too thin')
  22. elif 18.5<=bmi_val<=23.9:
  23. print('normal')
  24. elif 24<=bmi_val<=27.9:
  25. print('overweight')
  26. elif bmi_val>=28:
  27. print('fat')
  28. '''
  29. '''
  30. 2. 按公式:C= 5/9×(F-32) ,将华氏温度转换成摄氏温度,并产生一张华氏0~300度与对应的摄氏温度之间的对照表(每隔20度输出一次)
  31. for i in range(0,301,20):
  32. print('华氏温度:%d,摄氏温度:%d'%(i,5/9*(i-32)))
  33. '''
  34. '''
  35. 3. 角谷静夫是日本的一位著名学者,他提出了一个猜想(称为角谷猜想):对于一个正整数n,若为偶数则除以2,若为奇数则乘以3加1,得到一个新的数后按照之前的两条规则继续演算,若干次后得到的结果必然为1。输入任一正整数,输出演算过程。
  36. [输入样例]
  37. 10
  38. [输出样例]
  39. 10/2=5
  40. 5*3+1=16
  41. 16/2=8
  42. 8/2=4
  43. 4/2=2
  44. 2/2=1
  45. num = int(input('输入任一正整数:'))
  46. def fun(num):
  47. if num<=0:
  48. return 0
  49. elif num == 1:
  50. return 1
  51. elif num%2 == 0:
  52. print('{}/{}={}'.format(num,2,num/2))
  53. return fun(num/2)
  54. else:
  55. print('{}*{}+1={}'.format(num,3,num*3+1))
  56. return fun(num*3+1)
  57. fun(num)
  58. '''
  59. '''
  60. 4. 输入n,用递推法(例如前项之间的关系推导后项,本题为一重循环)编程求1+2!+3!+...+n!的和并输出。
  61. [输入样例]
  62. 5
  63. [输出样例]
  64. 153
  65. num = int(input('请输入阶乘数:'))
  66. s = temp = 1
  67. for i in range(2,num+1):
  68. temp*=i
  69. s += temp
  70. print('结果为:',s)
  71. '''
  72. '''
  73. 5. 编程求解1-4这4个数字可以组成多少个无重复的三位数,按从小到大的顺序输出这些数字。
  74. for i in range(1,5):
  75. for j in range(1,5):
  76. for k in range(1,5):
  77. if i!=j!=k and i!=k:
  78. print(i*100+j*10+k)
  79. '''
  80. '''
  81. 6. 验证命题:如果一个三位整数是37的倍数,则这个整数循环左移后得到的另两个3位数也是37的倍数。(注意验证命题的结果输出方式,只要输出命题为真还是假即可,而非每一个三位数都有一个真假的输出)
  82. def fun():
  83. for i in range(100,1000):
  84. if i % 37 == 0:
  85. val_1 = i%100*10+i//100
  86. val_2 = i%10*100+i//10
  87. if val_1%37!=0 or val_2%37!=0:
  88. return False
  89. return True
  90. print(fun())
  91. '''
  92. '''
  93. 7. 一个数如果等于它的因子之和则称这个数为完数,例如6,6=1+2+3,编程计算1000之内的所有完数并输出。
  94. for j in range(2,1001):
  95. temp_val = 0
  96. for i in range(1,j):
  97. if j%i==0:
  98. temp_val += i
  99. if temp_val == j:
  100. print("\n", j, " ", end = "")
  101. print("its factors are ", end = "")
  102. for v in range(1, j):
  103. if j%v == 0:
  104. print(v, end = " ")
  105. '''
  106. '''
  107. 8. 验证哥德巴赫猜想之一:2000以内的正偶数(大于等于4)都能够分解为两个质数之和。每个偶数表达成形如:4=2+2的形式。
  108. def fun(num):
  109. for i in range(2,num):
  110. if num%i == 0:
  111. return False
  112. return True
  113. def fun2(num):
  114. num_new = num//2
  115. for i in range(2,num_new+1):
  116. if fun(i):
  117. j = num - i
  118. if fun(j):
  119. print('{} = {} + {}'.format(num,i,j))
  120. for i in range(4,2001):
  121. fun2(i)
  122. '''

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/389708
推荐阅读
相关标签
  

闽ICP备14008679号