如果输入分为不同的部分,如何找到用户输入的“计数”?

时间:2016-02-23 18:52:15

标签: python python-3.x

我已经在这个功能上工作了几天,这是我的第一个真正的程序(我正在学习自己编写代码)。我已经习惯了for循环和那种东西,并决定是时候把我的技能用于测试,而我的朋友给了我一个尝试的提示。我有用户估算的“分数”,我必须在排名系统中对这些分数进行分类。 到目前为止,这是我的代码:

def grade_scores():
    count = int(input('Enter amount of scores: '))  
    print('Each will be entered one per line')      
    scoreList = []                                  
    for i in range(1, count+1):                    
        scoreList.append(int(input('Enter score: ')))
    print("GRADE  COUNT  PERCENTAGE")
    for grade in ('A', 'B', 'C', 'D', 'F'):
        return grade
        A = 'A'
        B = 'B'
        C = 'C'
        D = 'D'
        F = 'F'
    for score in (scoreList):
        if score >= 91:
            score = A
            count[0] += 1  # Increase index 0 (Corresponds to value A) by 1
        elif score >= 81 and score <=90:
            score = B
            count[1] += 1
        elif score >= 71 and score <=80:
            score = C
            count[2] += 1
        elif score >= 61 and score <=70:
            score = D
            count[3] += 1
        else: #<= 60
            score = F
            count[4] += 1

最后,我的目标是以列形式打印这样的,我知道这还不正确,我需要设置计数才能打印

    print("GRADE  COUNT")
    print(grade, count)

grade_scores()

所以我的问题是如何格式化我的“计数”以对用户输入进行分类,还是我可能在正确的轨道上?

1 个答案:

答案 0 :(得分:0)

你走在正确的轨道上,但你的代码中存在一些根本性的缺陷。

def get_grades():
    count = int(input("how many scores? "))

    scores = []
    for _ in range(count):
        score = int(input("Score: "))
        scores.append(score)
    # this whole section can be rewritten as:
    # # scores = [int(input("Score: ")) for _ in range(count)]

    result = {"A":0, "B":0, "C":0, "D":0, "F":0}
    for score in scores:
        if score > 90:
            result["A"] += 1
        elif 80 < score <= 90:
            result["B"] += 1
        elif 70 < score <= 80:
            result["C"] += 1
        elif 60 < score <= 70:
            result["D"] += 1
        else:
            result["F"] += 1
    return (scores, result)

这会给你一个元组:

([the list of raw scores], {a dictionary of grade counts})