![](/img/trans.png)
[英]How do I stop my BMI calculator from adding an unwanted “None” when giving the BMI value?
[英]How do I get a return value for BMI in this loop?
我正在做一個分配,以創建一個代碼,該代碼接收來自用戶的名稱,體重和身高的輸入,然后返回BMI值,然后循環返回以詢問其他名稱。 我似乎無法讓我的BMI函數返回輸出。
def BMI(BMI):
num1, num2 = weight, height
BMI = (num1 * 706)/(num2^2)
return BMI
user = str
end = "x"
while user != end:
print()
user = input("Please enter player name or type 'X' to quit: ")
if user == end:
print("Report Complete")
break
else:
num1 = (float(input("Please enter weight: ")))
num2 = (float(input("Please enter height: ")))
if num1 >= 1:
print("BMI: "(BMI))
運行函數時收到此錯誤:“”。
我正在尋找符合以下條件的輸入
請輸入玩家名稱或按“ X”退出:xxx請輸入體重:xxx請輸入身高:xxx BMI:xxx
請輸入玩家名稱或按“ X”退出:
好的,因此您需要進行一些修復才能使其正常工作。
"BMI: "
作為函數。 您要如何調用BMI
就像BMI(weight, height)
,在其中您將weight和height的值作為參數傳遞。 BMI
返回浮點數,因此您需要在附加之前將其轉換為字符串。 這些更改的結果是"BMI: "+ str(BMI(num1, num2))
BMI
函數的定義中,您需要將weight和height作為如下參數傳遞: def BMI(weight, height):
這將允許您在功能主體中同時使用weight
和height
。 ^
不表示冪,而是按位異或。 您要像這樣使用**
運算符: BMI = (num1 * 706)/(num2**2)
進行了這些更改之后,您應該最終得到以下內容:
def BMI(weight, height):
num1, num2 = weight, height
BMI = (num1 * 706.0)/(num2**2)
return BMI
user = str
end = "x"
while user != end:
print()
user = input("Please enter player name or type 'X' to quit: ")
if user == end:
print("Report Complete")
break
else:
num1 = (float(input("Please enter weight: ")))
num2 = (float(input("Please enter height: ")))
if num1 >= 1:
print("BMI: " + str(BMI(num1, num2)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.