【发布时间】:2015-09-06 03:05:10
【问题描述】:
我对编程还很陌生,而且才刚学了一个月。目前我正在尝试获取用户输入,将其存储在一个列表中,然后将该列表传递给一个函数。我无法将列表用作函数的参数(最后一行代码)。提前致谢!
grade_list = []
percentages = 0
while True:
percentages = input("Enter some numbers here: ")
if percentages == "done":
break
grade_list.append(percentages)
print(grade_list)
def gpaCalc(marks):
gpaList = []
for grade in marks: #sorts data
if grade <= 49.99:
grade = 0.00
elif 50 <= grade <= 52.99:
grade = 0.70
elif 53 <= grade <= 56.99:
grade = 1.00
elif 57 <= grade <= 59.99:
grade = 1.30
elif 60 <= grade <= 62.99:
grade = 1.70
elif 63 <= grade <= 66.99:
grade = 2.00
elif 67 <= grade <= 69.99:
grade = 2.30
elif 70 <= grade <= 72.99:
grade = 2.70
elif 73 <= grade <= 76.99:
grade = 3.00
elif 77 <= grade <= 79.99:
grade = 3.30
elif 80 <= grade <= 84.99:
grade = 3.70
elif 85 <= grade <= 89.99:
grade = 3.90
elif 90 <= grade <= 100:
grade = 4.00
gpaList.append(grade) #gathers data into list
gpaList.sort()
return gpaList
print (gpaCalc(PROBLEM))
【问题讨论】:
-
gpaCalc(grades_list) -
你遇到了什么错误?
-
您是否将输入转换为浮点数?在我看来不是那样的,看起来你把它们当作字符串。即 如果 '48'
-
嘿@JLPeyret,我刚刚意识到并进行了更正,但是“完成”不能转换为浮点数。还有其他方法可以摆脱用户输入吗?
-
@xdhmoore,我收到“TypeError:不可排序的类型:str()