【问题标题】:BMI Calculator / Square root issue [closed]BMI计算器/平方根问题[关闭]
【发布时间】:2012-10-05 17:29:49
【问题描述】:

我在我的第一个 CSC 课程中有一个作业,重点是 Python 3。这是我的第二批代码,如果是初级的,请见谅。

任务是创建一个 BMI 计算器。 BMI 由一个人的体重(磅)乘以 720.0 除以身高的平方(英寸)得出。

要求是: 提示用户以磅为单位输入他/她的体重。 提示用户以英尺为单位输入部分高度。 提示用户以英寸为单位输入部分高度。 判断用户是否高于或低于或低于健康范围。 (19-25)

到目前为止,这是我的代码:

#problem1_<tomjenk>.py
#A program used to calculate range of BMI.
import math

def main():
    print("BMI Calculator")
    print()
    print("Please fill out the following:")
    x = eval(input("Your weight in pounds: "))
    y = eval(input("Your Height in feet: "))
    z = eval(input("Your remainder inches: "))
    q = y / 12.0
    f = x * 720.0
    t = q + z
    d = math.sqrt(t)
    total = f / d 
    print("Total", total)
main()

【问题讨论】:

  • 您可以使用更具描述性的变量名称...或者至少 p 表示磅,f 表示英尺等,而不是完全任意的单字母变量。
  • @kharybdis 不,not in Python3.
  • “BMI 是由一个人的体重(磅)乘以 720.0 得出的” 它应该是乘以 703,而不是 720;还有你为什么用eval(input(...))
  • 要得到一英尺的英寸数,乘以 12,而不是除以。
  • 谁教eval的使用?避开这个老师。

标签: python math python-3.x calculator square-root


【解决方案1】:

您不需要使用平方根。它是高度的平方,即 t*t。顺便说一句,你并没有真正提出问题。

【讨论】:

    【解决方案2】:
      q = y / 12.0
    

    1 英寸 = 12 英尺?你不应该把英尺乘以 12 得到英寸吗?

       d = math.sqrt(t)
       total = f / d 
    

    这不是你描述的公式。你应该平方 t,而不是平方根。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多