72 lines
1.4 KiB
Python
72 lines
1.4 KiB
Python
"""
|
|
Bad example
|
|
"""
|
|
|
|
def calc (l) :
|
|
t =0
|
|
for i in l:
|
|
t = t + i
|
|
a = t / len (l)
|
|
if a >=90:
|
|
g = "A"
|
|
elif a >=80:
|
|
g = "B"
|
|
elif a >=70:
|
|
g = "C"
|
|
elif a >=60:
|
|
g = "D"
|
|
else :
|
|
g = "F"
|
|
return g, a
|
|
|
|
def doeverything (n, s1, s2, s3, s4, s5) :
|
|
print ("Processing student :"+ n)
|
|
l = [s1, s2, s3, s4, s5]
|
|
r = calc (l)
|
|
print ("Average :"+ str (r [1]))
|
|
print ("Grade :"+ r [0])
|
|
if r[1] >= 60:
|
|
print ("Status : PASSED")
|
|
else:
|
|
print ("Status : FAILED")
|
|
return r
|
|
|
|
# main program
|
|
x = "John"
|
|
doeverything (x,85,90,78,92,88)
|
|
print ("---")
|
|
y = "Jane"
|
|
doeverything (y,55,60,45,50,58)
|
|
print ("---")
|
|
z = "Bob"
|
|
doeverything (z,70,75,80,72,78)
|
|
|
|
"""
|
|
[x] Naming conventions (variables, functions, classes)
|
|
[x] Code structure and indentation
|
|
[x] Magic numbers and constants
|
|
[x] Function length and single responsibility
|
|
[ ] DRY principle (Don't Repeat Yourself)
|
|
[x] Comments and documentation
|
|
[x] Error handling
|
|
[x] Whitespace and formatting
|
|
[ ] Mutable default arguments
|
|
"""
|
|
|
|
"""
|
|
good example
|
|
"""
|
|
|
|
def calculate_avg(points: list[int]) -> float:
|
|
return sum(points) / len(points)
|
|
|
|
def calculate_grade(point_avg: float) -> str:
|
|
grade_dict = {
|
|
(lambda avg: avg >= 90): "A",
|
|
(lambda avg: avg >= 80): "B",
|
|
(lambda avg: avg >= 70): "C",
|
|
(lambda avg: avg >= 60): "D",
|
|
(lambda avg: avg < 60): "F"
|
|
}
|
|
|
|
return grade_dict.get(point_avg) |