<p>就像<a href="https://stackoverflow.com/users/11161432/jfaccioni">@jfaccioni</a>所说的</p>
<p>线路</p>
<pre><code>count1 = BMIs.count(under)
</code></pre>
<p>正在计算函数<code>under</code>本身在BMIs列表中出现的次数,而不是BMIs列表中有多少个元素进入该函数后计算为<code>True</code></p>
<p>然而,我对<a href="https://stackoverflow.com/users/11161432/jfaccioni">@jfaccioni</a>有一种稍微不同的方法</p>
<pre><code> def under(BMIs):
return BMIs < 25
def normal(BMIs):
return BMIs >= 25 and BMIs < 35
def over(BMIs):
return BMIs > 35
print ("This program will help calculate the body mass index of 6 people")
individuals = []
for i in range(1):
user = str(input("Please enter the name of one of the individuals: "))
individuals.append(user)
BMIs = []
for user in individuals:
print("Calculating for", user)
height = int(input(user + ", in inches, how tall are you? "))
weight = int(input(user + ", in pounds, how much do you weight? "))
BMIs.append(weight * 703/height**2)
Count = []
for i, bmi in enumerate(BMIs):
if under(bmi):
print (individuals[i], "is underweight")
Count.append("under")
elif normal(bmi):
print (individuals[i], "is normal weight")
Count.append("normal")
elif over(bmi):
print (individuals[i], "is overweight")
Count.append("over")
count1 = Count.count("under")
count2 = Count.count("normal")
count3 = Count.count("over")
print ("The number of under weight individuals is: ", count1)
print ("The number of normal weight individuals is: ", count2)
print ("The number of over weight individuals is: ", count3)
</code></pre>