撰寫一個函式is_better_than_avg(students, pos),它接受兩個引數students是所有學生詞典的串列 position 是一個整數 - 我們要檢查的學生在串列中的位置。檢查的作業原理是這樣的 - 計算學校所有成績的平均值(上部單元格),將值與學生的平均值進行比較。回傳True如果學生的平均大于學校平均,否則,回傳False。
我不知道為什么程式的第二次執行顯示True而不是False.
# Function for testing purposes
def test(got, expected):
if got == expected:
prefix = ' OK '
else:
prefix = " Something's wrong "
print(prefix,' got:',repr(got),'expected:',repr(expected))
list_of_students = []
list_of_students.append(kosma) # appending the student k1sma
def is_passed(student_dict):
return avg(student_dict)>=3.0
def school_avg(students):
all = 0
licznik = 0
for a in students:
all = all avg(a) #dodaje ?redni? sprawdzanego studenta do 'all'
licznik = licznik 1 #dodaje 1 do liczniku
return all / licznik
list_of_students.append({
"username": "mikub",
"age":24,
"is_blocked": False,
"grades": [5,5,5,5]
})
list_of_students.append({
"username": "ewa",
"age":24,
"is_blocked": False,
"grades": [1,3,3,2,1,1,1,1,1,1]
})
list_of_students.append({
"username": "robert",
"age":24,
"is_blocked": False,
"grades": [5,5,5,5,5,1]
})
list_of_students.append({
"username": "radek",
"age":24,
"is_blocked": False,
"grades": [1,3,3,2,5,5,5]
})
list_of_students.append({
"username": "kasia",
"age":24,
"is_blocked": False,
"grades": [5,5,5,1]
})
list_of_students.append({
"username": "kasia",
"age":24,
"is_blocked": False,
"grades": [5,1,1,1,1,5,1]
})
list_of_students.append({
"username": "jola",
"age":24,
"is_blocked": False,
"grades": [5,4,5,5,5,4]
})
#this is the important part
def is_better_than_avg(students,pos):
for pos in students:
if avg(pos) > school_avg(students):
return True
elif avg(pos) < school_avg(students):
return False
test(is_better_than_avg(list_of_students,0),True) #returns True as it should
test(is_better_than_avg(list_of_students,6),False) #idk why this returns True as well
uj5u.com熱心網友回復:
我認為你應該is_better_than_avg 像這樣改變 函式:
def is_better_than_avg(students,pos):
student = students[pos]
if avg(student) > school_avg(students):
return True
elif avg(student) < school_avg(students):
return False
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/352908.html
上一篇:rfor回圈中的迭代
下一篇:auto&i范圍的正確用法?
