0

クラスで受け取ったパーセンテージを GPA 形式に変換し、最終的に全体の GPA を見つけるプログラムを作成しようとしています。最初にユーザーにクラスの量を入力するように求め、次にパーセンテージを入力するように求めます。プログラムでパーセンテージを GPA 形式に変換する際に問題が発生しています (90 以上は 4、80 ~ 89 は 3 など)。これは私がこれまでに持っているものです

class_number = int(raw_input("How many classes do you have? "))
total_grade = list((raw_input("Enter Percentage: ")) for i in range(class_number))

a = total_grade

def alter(x):
   if x >= 90:
    return 4
   elif x >= 80:
    return 3
a = map(alter,a)

print a

問題は、元のパーセンテージに関係なく、これが 4 しか出力しないように見えることです。

どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

0

これxは、実際には文字列だからです。文字列は常に数値よりも大きいと思います。total_grade各アイテムをintに変換する必要があります。

total_grade = list(int(raw_input("Enter Percentage: ")) for i in range(class_number))

また、リスト内包表記を使用することもできます。

total_grade = [int(raw_input("Enter Percentage: ")) for i in range(class_number)]
于 2013-03-12T00:27:02.443 に答える