python连续输入课程名称和成绩
时间: 2023-08-25 14:30:43 浏览: 145
你可以使用一个循环来实现连续输入课程名称和成绩的功能,具体代码如下:
```python
courses = {} # 创建一个空字典来存储课程和成绩
while True:
course = input("请输入课程名称(输入q结束):")
if course == "q":
break # 如果输入q,退出循环
score = float(input("请输入成绩:"))
courses[course] = score # 将课程和成绩添加到字典中
print("课程及成绩如下:")
for course, score in courses.items():
print("{}:{}".format(course, score))
```
代码中先创建一个空字典`courses`来存储课程和成绩。然后使用`while True`创建一个无限循环,每次循环中先输入课程名称,如果输入的是`q`则退出循环,否则继续输入成绩,并将课程和成绩添加到`courses`字典中。循环结束后,使用`for`循环遍历`courses`字典,输出每个课程及其对应的成绩。
相关问题
从键盘连续输入课程名称及成绩
好的,我可以帮您编写一个Python程序来实现这个功能。请参考以下代码:
```python
courses = []
grades = []
while True:
= input("请输入课名称:")
if not course:
break
courses.append(course)
grade = input("请输入成绩:")
grades.append(int(grade))
print("课程名称:", courses)
print("成绩:", grades)
```
这段代码将会让用户从键盘中连续输入课程名称和成绩,直到输入空行为止。程序将会把输入的课程名称和成绩分别存储在两个列表中,并最终输出这两个列表。
python 统计学生的课程成绩 课程名称和成绩用空格分隔,每门课程一行,遇空行按enter录入。按要求输入结束后得出得分最高的课程名称及成绩,得分最低的课程名称及成绩,平均分(保留2位小数) 本题要求连续输入课程名称和分数,直到输入内容为空时按enter键结束输入。 由于输人次数未知,因此可采用 while 循环实现。输人一门课程名称及成绩后,将输人的课程名称和成绩字符串通过 split()方法 用空格进行切分,生成一个小列表,即[‘语文’,‘87’]列表作为元素添加到列表中生成一个二维列表ls.即[‘语文’,’87’],[‘数学’,90’],[‘英语’,’92’],[‘化学’,’85’]。在循环执行过程中,取小列表里的“成绩”元素,并将其转化为数值和求累加和。注意累加器、在循环开始前要先给定初值 0。利用max()对ls 取最大值,取最大值的依据是二维列表1ls中每个小列表里的“成绩”元素,取出的最大值为[英语!,“921,再将最大值中的“课程名称”元素和“成绩”元素分别赋值给maxe 和maxs。同理,可以利用 min()取最小值。平均分可以通过累加和s除以二维列表 ls 的长度实现。
好的,下面是代码实现:
```python
ls = []
while True:
line = input()
if line == '':
break
course, score = line.split()
ls.append([course, int(score)])
total_score = 0
for item in ls:
total_score += item[1]
avg_score = round(total_score / len(ls), 2)
max_score = max(ls, key=lambda x: x[1])
min_score = min(ls, key=lambda x: x[1])
max_course, max_value = max_score[0], max_score[1]
min_course, min_value = min_score[0], min_score[1]
print(f"最高分课程:{max_course},成绩:{max_value}")
print(f"最低分课程:{min_course},成绩:{min_value}")
print(f"平均分:{avg_score}")
```
代码中使用了一个 `while` 循环来读取用户输入的课程名称和成绩,每次读取一行,然后通过 `split()` 方法将其分割成课程名称和成绩两个部分,并将其作为一个小列表添加到二维列表 `ls` 中。
在读取完所有数据后,我们遍历 `ls` 列表,累加每个小列表中的第二个元素(即成绩),计算出总成绩。然后根据总成绩和列表长度计算出平均分。
接着,使用 `max()` 和 `min()` 分别取得最高分和最低分的小列表,然后从这两个小列表中取出课程名称和成绩值,赋值给相应的变量。
最后,我们将结果输出到屏幕上。需要注意的是,我们使用了 f-string 来格式化输出结果,使其更加清晰易懂。
阅读全文