如何从 python 中的用户 2 值读取并找到最高 GPA?

Posted

技术标签:

【中文标题】如何从 python 中的用户 2 值读取并找到最高 GPA?【英文标题】:How to read from user 2 values in python and find the highest GPA? 【发布时间】:2020-08-10 04:01:48 【问题描述】:

如何编写 python 代码以在一行中从用户读取学生姓名和 GPA,但是如果用户输入类似 (off) 之类的单词,程序将停止.. 我想使用 while 循环并计算并打印最高GPA 和学生姓名?

2 个值 = 第一个 int .. 第二个字符串。 喜欢= GPA ...名称

【问题讨论】:

请向我们展示您迄今为止所做的尝试以及您遇到的错误。谢谢。 【参考方案1】:

不确定您想对结果做什么或如何存储它们,但这应该可以帮助您开始使用所需的内容。

from collections import defaultdict

def get_mean_grades():
    students = defaultdict(list)
    while True:
        data = input('Enter your GPA followed by your name: ')
        if data.upper() == 'STOP':
            break
        else:
            gpa, name = data.split(' ', 1)
            students[name].append(float(gpa))
    print()
    for student, grades in students.items():
        average = sum(grades) / len(grades)
        print(f"student has an average grade of average")

Enter your GPA followed by your name: 4.3 Tom Morris
Enter your GPA followed by your name: 2.2 Fred York
Enter your GPA followed by your name: 4.8 Tom Morris
Enter your GPA followed by your name: 3.3 Fred York
Enter your GPA followed by your name: STOP

Tom Morris has an average grade of 4.55
Fred York has an average grade of 2.75

【讨论】:

【参考方案2】:
data = []
while True:
    inp = [i for i in input("Please enter your name followed by your GPA: ").strip().split()]
    if (len(inp)==1 or inp[0] == 'off'): break
    data.append('Name':(' '.join([str(i) for i in inp[:-1]])) , 'GPA':float(inp[-1]))

# print(data)
Please enter your name followed by your GPA: Kuldeep Singh 2.1
Please enter your name followed by your GPA: Kuldeep 3.1
Please enter your name followed by your GPA: Peter Smith 4.0
Please enter your name followed by your GPA: off
['GPA': 2.1, 'Name': 'Kuldeep Singh',
 'GPA': 3.1, 'Name': 'Kuldeep',
 'GPA': 4.0, 'Name': 'Peter Smith']

【讨论】:

我不能使用拆分?? 是的,为什么不呢? :) 姓名,成绩(“输入您的姓名和成绩:”)。 split(" , ") while grade != "stop": if Grade >= 90 and Grade = 80 and Grade= 70 和等级 = 0 和等级 这是个问题.. 编写一个程序,从用户那里读取几行输入。每行包括一个学生的姓名和他/她的 GPA(作为一个实数)。该程序应计算并打印最高 GPA(四舍五入到小数点后 2 位)和达到该成绩的学生的姓名。

以上是关于如何从 python 中的用户 2 值读取并找到最高 GPA?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Python 中的文件/流中懒惰地读取多个 JSON 值?

读取csv字典变成str了怎么办

如何在streamlit中从用户读取csv文件并转换为pandas数据框

如何循环表中的每个值并找到平均值

如何使用python 2.7从特定文件中读取环境变量

从 QTableWidget 动态读取值并存储它