+ 4
[SOLVED] Basketball players problem
import statistics players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190] statistics.stdev(players) # std is 11.1 , mean is 189.2 So, I need to output how many players are between (189.2 - 11.1) to (189.2 + 11.1)
53 Respostas
+ 89
The correct answer is:
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean = sum(players)/len(players)
stdvar = (sum((v-mean)**2 for v in players)/len(players))**0.5
low, high = mean-stdvar,mean+stdvar
count = len([v for v in players if low < v < high])
print(count)
+ 13
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
import numpy as np
mean = np.mean(players)
standard_deviation = np.std(players)
variance = np.var(players)
result = 0
for i in players:
if i >= mean-standard_deviation and i <= mean+standard_deviation:
result += 1
print(result)
+ 11
import numpy as np
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
data = np.array(players)
m = np.mean(data)
std = np.std(data)
under = m - std
above = m + std
fit = data[(data>under) & (data<above)]
print(len(fit))
+ 4
yes, you must loop over the array and count how many values matches the conditions ;)
finally, just output the count...
+ 4
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean = sum(players) / len(players)
std = (sum([(i - mean) ** 2 for i in players]) / len(players)) ** 0.5
print(len(list(filter(lambda x: mean - std < x < mean + std, players))))
+ 3
All it was wrriten was just :āplayers = [180,172,178,185,190,195,192,200,210,190]
My code is : import statistics
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean = (180 + 172 + 178 + 185 + 190 + 195 + 192 + 200 + 210 + 190) / 10
statistics.stdev(players)
So, I know the mean and the std, all I have to do now is to check how many players are in that range... like I have to use smth like for players in range... idk...any idea?
+ 1
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean = sum(players)/len(players)
std = (sum((height-mean)**2 for height in players)/len(players))**0.5
high = mean+std
low=mean-std
total = len([height for height in players if low < height < high])
print(total)
+ 1
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
total=0
mean=0
for player in players:
total=total + player
mean=total/len(players)
squared_differences = [ (player-mean)**2 for player in players ]
total_squared_differences=0
for squared_difference in squared_differences:
total_squared_differences=total_squared_differences + squared_difference
variance=total_squared_differences/len(players)
standard_deviation=variance**0.5
low, high = mean-standard_deviation,mean+standard_deviation
count = len([player for player in players if low < player < high])
print(count)
+ 1
This is how I solved it:
import math
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean = sum(players)/len(players)
total = 0
for x in players:
x = (x-mean)**2
total += x
avgresult = total/len(players)
std_dev = math.sqrt(avgresult)
results = 0
for p in players:
if mean-std_dev < p and mean+std_dev > p:
results = results + 1
print(results)
0
well, you're right...
where is your coding attempt?
we need to see what you've tried so far to be able to help ^^
0
Thank You!
0
Coalemus because your for loop should throw an error, as you're trying to iterate in a range of float (decimal) values, while it expect intergers (whole numbers)...
anyway, you should post your own question to be helped further ^^
0
Oh my bad, thanks anyway!
0
kensy Nicolle Gutierrez Flores kindly stop spamming others threads, and rather post your own question in a brand new thread, by following the Q&A guidelines (accurate and short title, useful tags and explanation of your specific problem in the description field with your code attempt provided)...
0
The given code includes a list of heights for various basketball players.
You need to calculate and output how many players are in the range of one standard deviation from the mean.
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean=sum(players)/len(players)
var=sum((x-mean)**2 for x in players)
std=var**0.5
for players in range(int(mean-std),int(mean+std)):
print(players)
what might be the issue with this code??
0
mine says indent 2
0
import math
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
sum = 0
for nums in players:
sum+=nums
mean = sum / len(players)
new_list = []
for i in players:
new_list.append(mean-i)
new_sum = 0
for k in new_list:
new_sum+=k**2
variance = new_sum/len(players)
deviation = math.sqrt(variance)
#print(variance)
#print(deviation)
#print(round(variance))
#print(round(deviation))
range1 = mean - deviation
range2 = mean + deviation
num_players = []
for j in players:
if j in range(round(range1),round(range2)):
num_players.append(j)
else:
pass
print(len(num_players))
This is my answer you can check it out
0
My way:
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
sum =0
count = 0
count1 = 0
sum_sqr = 0
for i in players:
sum += i
count += 1
mean = sum / count
for i in players:
sqr = (mean-i)**2
sum_sqr += sqr
var = sum_sqr / count
std = var**(1/2)
for i in players:
raz1 = mean - std
raz2 = mean + std
if (i > raz1 and i < raz2):
count1 += 1
print(int(count1))
0
# Simple and for beginners and maths lovers
players = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
x = 0
y = 0
z = 0
for p in players:
y += p
m = y/len(players)
for p in players :
z = z + (p - m)**2
s = (z/len(players))**(1/2)
for p in players :
if p > m - s and p < m + s :
x += 1
print(x)
0
Doing it without the statistics module, I solved it with:
from math import sqrt
data = [180, 172, 178, 185, 190, 195, 192, 200, 210, 190]
mean = sum(data) / len(data)
pre_variance = list(map(lambda number: (number - mean) * (number - mean), data))
variance = sum(pre_variance) / len(pre_variance)
std = sqrt(variance)
result = list(filter(lambda number: number > (mean - std) and number < (mean + std), data))
print(len(result))