我正在尝试编写一个程序,将类中收到的百分比转换为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
问题是,无论原始百分比如何,这似乎只输出4s。
任何帮助将不胜感激!谢谢!
答案 0 :(得分: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)]