python - 如何使用 python 在函数中使用列表作为参数

标签 python list function

我对编程还很陌生,而且只接触了一个月。目前我正在尝试获取用户输入,将其存储在列表中,然后将该列表传递到函数中。我在使用列表作为函数的参数(最后一行代码)时遇到问题。提前致谢!

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))

最佳答案

您可以像通常将列表传递到任何函数中一样传递列表,只需始终确保通过正确索引访问列表中的项目,而不是计算整个列表。请改用以下内容:

def gpaCalc(marks):
    gpaList = []
    for grade in marks[0]: #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

grade_list = []
percentages = 0

while True:
    percentages = input("Enter some numbers here: ")
    if percentages == "done":
        break
    grade_list.append(percentages)

print(gpaCalc(grade_list))

关于python - 如何使用 python 在函数中使用列表作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32419623/

相关文章:

python - 调试与 EC2、Ubuntu 和 Django 断开的连接

python - 查找字典 Python 列表的差异

python - 如何在 python 中从全局范围切换到本地范围?

python - 如何在python中转换这个字符串

python - 将两个不同 dtype 的 numpy 数组组合成一个结构化数组

python-3.x - 迭代 2 个 Python 列表并获取所有 x 到 y 的组合

javascript - 带函数的 for 循环

jquery - Jquery 中的函数传递表单元素的 ID 作为参数

python - 在 Python 中的 Pandas 中实现 R scale 函数?

list - 有没有办法只对 Prolog 中包含字母和整数的对列表中的整数求和?