2017-02-21 211 views
0

Determine_grade - 接受单号作为参数,并显示基于以下分级量表评分字母等级:编写一个程序,要求用户输入五个测试分数。它对应于字母等级

Score 90-100 80-89 70-79 60-69 Below 60 

Letter Grade A 
B 
C 
D 
F 
  • calc_average - 需要等级列表作为参数并显示分数的平均值,以及等于该平均值的字母等级。
  • 主 - 要求用户输入五个测试成绩,并把它们作为数字到一个列表
  • showLetters - 回声通过用户与字母等级等同进入打印成绩

每个大步写评论。下面是程序的运行示例:

输入的成绩:65,80,90,71,85

65.0 is D 
80.0 is B 
90.0 is A 
71.0 is C 
85.0 is B 

平均值为:78.2,其是C

def main(): 
    enter code herescores = input("Enter five test scores seperated by commas:") 
    listScores = scores.split(",")`enter code here` 
    determine_grade(listScores) 
    calc_average(listScores) 

def determine_grade(grades): 
    for num in grades: 
     if int(num) >= 90 and int(num) <= 100: 
      print("A") 
     elif int(num) >=80 and int(num) <= 89: 
      print("B") 
     elif int(num) >=70 and int(num) <= 79: 
      print("C") 
     elif int(num) >=60 and int(num) <= 69: 
      print("D") 
     else: 
      print("F") 


def calc_average(grades): 
    total = 0 
    for num in grades: 
     total += int(num) 
    average = total/5 
    print(average) 


#def show_letters(values): 
main() 

这是我到目前为止,但似乎无法弄清楚如何格式化?

+1

请在问题的形式问这个。提示:无论你问什么都应该以'?'结尾。 – anthropomorphic

回答

0

这格式化输出要格式化的方式:

def main(): 
    scores = input("Enter five test scores separated by commas: ") 
    return [int(num) for num in scores.split(",")] 


def determine_grade(num): 
    if 90 <= num <= 100: 
     letter_grade = "A" 
    elif 80 <= num <= 89: 
     letter_grade = "B" 
    elif 70 <= num <= 79: 
     letter_grade = "C" 
    elif 60 <= num <= 69: 
     letter_grade = "D" 
    else: 
     letter_grade = "F" 
    return letter_grade 


def calc_average(grades): 
    average = sum(grades)/len(grades) 
    grade = determine_grade(average) 
    print("The average is: {:.1f} which is {}".format(average, grade)) 


def show_letters(num, letter_grade): 
    print("{:.1f} is {}\n".format(num, letter_grade)) 


lst = main() 
for n in lst: 
    show_letters(n, determine_grade(n)) 
calc_average(lst) 
相关问题