自学的pytho你,为什么会报错

为什么会报错呀?
在网上自学的python,关于学生信息管理系统的

img

img

img

img

img

img

img


报错内容为下:

img

问题点:第121行的 format_data最后面多了一个 '}'。
处理方法: 删除第121行最后面的'}'就行.

format_data 的结尾多了一个后花括号

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7396706
  • 你也可以参考下这篇文章:pytho篇 习题:判断语句
  • 除此之外, 这篇博客: python的基础语法中的 pytho的输入和输出 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 输入:input("提示消息:")

    // 输入
    name=input("请输入你的名字:")

    输出:print(变量名)

    // 输出
    print(name)

    格式化输出

    使用百分号(%)字符串格式化

    // 使用百分号字符串格式化
    print("你的姓名:%s,你的年龄:%d" %(name,age))

    使用format字符串格式化

    //位置参数
    print("你的姓名:{},你的年龄:{}".format(name,age))
    
    print("你的姓名:{1},你的年龄:{0}".format(name,age))

    位置参数

    //关键字参数
    print("my name is {name}, and my age is {age}".format(age=18,name="jack"))
    
    print("my name is {age}, and my age is {name}".format(age=18,name="jack"))

  • 您还可以看一下 刘海建老师的Python入门到精通教程课程中的 pytho的简介小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题的报错内容如下:

    Traceback (most recent call last):
    File "<stdin>", line 15, in <module>
    KeyError: 'name'
    

    这个报错的原因是在删除学生信息时出现了KeyError,也就是找不到键'name'。 为了解决这个问题,我们可以使用try-except语句来捕获这个错误并给出相应的提示。

    以下是修复后的代码:

    import pprint
    
    students = [
        {'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
        {'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},
    ]
    
    # 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
    
    name = input('请输入你要删除学生的姓名:')
    
    # 先遍历所有学生
    for stu in students:
        try:
            # 找到学生
            if name == stu['name']:
                # 删除学生
                students.remove(stu)
                break
        except KeyError:
            # 键不存在
            print('学生信息缺少必要的键,请检查学生信息的完整性!')
            break
    
    else:
        # 没找到
        print('该学生不存在, 请检查名字是否输入正确!')
    
    pprint.pprint(students)
    

    这样,当删除学生信息时如果学生信息中的键'name'不存在,就会给出一个错误提示。