输入学生所有课程的成绩,每门课占一行,格式为”课程名:成绩“,以空行结束 在提示后输入课程名 输出格式: 如果课程存在,直接输出成绩,否则提示”没有该门课程“
时间: 2024-02-28 10:57:19 浏览: 44
好的,您的问题是如何输入、查找课程成绩。以下是示例代码实现:
```python
# 创建一个空字典用于存储课程成绩
grades = {}
# 输入学生所有课程的成绩
while True:
input_str = input()
if input_str == "":
break
course, grade = input_str.split(":")
grades[course] = float(grade)
# 提示用户输入课程名
course_name = input("请输入课程名:")
# 查找课程成绩
if course_name in grades:
print(grades[course_name])
else:
print("没有该门课程")
```
您可以将上述代码复制到 Python 环境中运行,以查看它的运行结果。请注意,此代码仅用于演示目的,实际应用中可能需要添加更多的输入验证和错误处理。
相关问题
从键盘输入一个学生所有课程的成绩,输入格式为”课程名:成绩“,每门课占一行,以空行结束。随后提示”请输入要查询的课程:“,用户从键盘输入课程名,查询并输出该课程的成绩,要求进行异常处理,对不存在的课程进行捕捉处理。
### 回答1:
好的,以下是回复:
首先,我们需要使用input()函数从键盘输入学生所有课程的成绩,输入格式为“课程名:成绩”,每门课占一行,以空行结束。可以使用while循环来实现输入,直到输入空行为止。具体代码如下:
grades = {}
while True:
line = input()
if line == '':
break
course, score = line.split(':')
grades[course] = int(score)
接下来,我们需要提示用户输入要查询的课程名,并进行异常处理。如果该课程不存在,需要捕捉异常并输出提示信息。可以使用try-except语句来实现异常处理。具体代码如下:
try:
course = input('请输入要查询的课程:')
score = grades[course]
print('该课程的成绩为:', score)
except KeyError:
print('该课程不存在!')
以上就是从键盘输入学生所有课程的成绩,并查询指定课程成绩的代码实现。
### 回答2:
首先,我们需要先读取从键盘输入的所有课程成绩,并按照“课程名:成绩”的格式储存。这里可以使用一个字典(dict)来储存,以课程名为key,成绩为value。代码如下:
```
score_dict = {}
while True:
input_str = input()
if input_str == "":
break
else:
input_list = input_str.split(":")
course_name = input_list[0]
score = float(input_list[1])
score_dict[course_name] = score
```
接下来,我们需要提示用户输入要查询的课程名,并对课程名进行异常处理。如果课程名存在于score_dict中,则输出该课程的成绩。如果不存在,则输出”该课程不存在“。
```
query_course = input("请输入要查询的课程:")
try:
result = score_dict[query_course]
print("{0}的成绩为{1}".format(query_course, result))
except KeyError:
print("该课程不存在")
```
完整代码如下:
```
score_dict = {}
while True:
input_str = input()
if input_str == "":
break
else:
input_list = input_str.split(":")
course_name = input_list[0]
score = float(input_list[1])
score_dict[course_name] = score
query_course = input("请输入要查询的课程:")
try:
result = score_dict[query_course]
print("{0}的成绩为{1}".format(query_course, result))
except KeyError:
print("该课程不存在")
```
### 回答3:
在这个程序中,我们需要先定义一个字典来存储学生的课程成绩,以课程名作为字典的键,成绩作为字典的值。我们可以首先使用一个循环从键盘输入学生的所有课程成绩,直到遇到空行停止输入。在循环中,我们可以使用字符串的split()方法将每行输入的字符串分割成课程名和成绩两部分,然后将其加入到字典中。
接下来,我们需要读取用户从键盘输入的课程名,并从字典中查询该课程的成绩。为了避免因为用户输入了不存在的课程名而导致程序崩溃,我们需要使用异常处理。具体来说,在查询的时候,我们先使用try块尝试从字典中获取该课程名对应的值(成绩),如果字典中有该课程名,则正常输出成绩;如果字典中没有该课程名,则抛出KeyError异常,然后进入except块来对异常进行处理,输出“该课程不存在”。
以下是程序的具体实现:
```python
# 定义一个字典用来存储学生的课程成绩
scores = {}
# 循环从键盘输入学生的所有课程成绩
while True:
input_str = input("请输入课程名和成绩(格式为“课程名:成绩”,空行结束):")
if input_str.strip() == "":
break
parts = input_str.strip().split(":")
if len(parts) != 2:
print("输入格式错误,请重新输入!")
continue
course_name = parts[0].strip()
try:
score = float(parts[1].strip())
except ValueError:
print("成绩必须是数字,请重新输入!")
continue
scores[course_name] = score
# 读取用户输入的要查询的课程名
while True:
query_course_name = input("请输入要查询的课程名:")
if query_course_name.strip() == "":
continue
try:
score = scores[query_course_name]
print("{}的成绩是:{}".format(query_course_name, score))
except KeyError:
print("该课程不存在,请重新输入!")
continue
```
在这个程序中,我们分别使用了两个while循环,第一个循环用来输入学生的课程成绩,第二个循环用来读取用户输入的要查询的课程名。如果用户在输入过程中出现了错误或者查询的课程名在字典中不存在,程序会及时地输出相应的错误信息,并让用户重新输入,从而保证了程序的稳健性和友好性。
2 jmu-python-查成绩 分数 6 作者 蔡莉白 单位 集美大学 从键盘输入一个学生所有课程的成绩,输入格式为”课程名:成绩“,每门课占一行,以空行结束。随后提示”请输入要查询的课程:“,用户从键盘输入课程名,查询并输出该课程的成绩,要求进行异常处理,对不存在的课程进行捕捉处理。 输入格式: 输入学生所有课程的成绩,每门课占一行,格式为”课程名:成绩“,以空行结束 在提示后输入课程名 输出格式: 如果课程存在,直接输出成绩,否则提示”没有该门课程“
好的,这是一道关于Python编程的问题,让我们一步步来看。
首先,我们需要从键盘输入学生所有课程的成绩,每门课占一行,格式为”课程名:成绩“,以空行结束。这可以通过以下代码实现:
```
sub=[] #科目列表 sore=[] #成绩列表
while(1):
s=input()
if s:
x=s.split(":")
sub.append(x[0]) #把输入的科目append到sub列表
sore.append(x[1]) #把输入的成绩append到sore列表
else:
break #s为空跳出循环
```
然后,我们需要提示用户输入要查询的课程名称,并将其存储在变量`check`中:
```
check=input('请输入要查询的课程:\n')
```
接下来,我们需要将科目和成绩合并为一个字典,并根据用户输入的课程名查询对应的成绩。如果找到了该课程,直接输出其对应的成绩;否则,输出“没有该门课程”。这可以通过以下代码实现:
```
zipped=zip(sub,sore) #将sub与sore合并
d=dict(zipped) #将合并的数据转换成字典
try:
print(d[check]) #输入正确的课程即能输出相应的成绩,否则异常处理
except:
print('没有该门课程')
```
最终,这个程序可以如下所示:
```
sub=[] #科目列表 sore=[] #成绩列表
while(1):
s=input()
if s:
x=s.split(":")
sub.append(x[0]) #把输入的科目append到sub列表
sore.append(x[1]) #把输入的成绩append到sore列表
else:
break #s为空跳出循环
check=input('请输入要查询的课程:\n')
zipped=zip(sub,sore) #将sub与sore合并
d=dict(zipped) #将合并的数据转换成字典
try:
print(d[check]) #输入正确的课程即能输出相应的成绩,否则异常处理
except:
print('没有该门课程')
```
希望这个程序可以解决你的问题!
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)