如何从 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 值?