关于#python#的问题:一直报语法错误

img


刚接触python,不知道哪里错了,一直报语法错误,求帮忙解惑,谢谢

n = int(input("输入学生人数:"))
lst = []
for i in range(n):
    姓名 = input(f"第{i+1}个学生的姓名:")
    学号 = input(f"第{i+1}个学生的学号:")
    a = float(input(f"第{i+1}个学生的语文课程的平时成绩:"))
    b = float(input(f"第{i+1}个学生的语文课程的期末成绩:"))
    c = float(input(f"第{i+1}个学生的数学课程的平时成绩:"))
    d = float(input(f"第{i+1}个学生的数学课程的期末成绩:"))
    e = float(input(f"第{i+1}个学生的英语课程的平时成绩:"))
    f = float(input(f"第{i+1}个学生的英语课程的期末成绩:"))
    stu = {"姓名":姓名,"学号":学号,"a":a,"b":b,"c":c,"d":d,"e":e,"f":f}#逗号改成冒号

    stu["绩点"] = round((a+b+c+d+e+f)/120,2)

    lst.append(stu)
print(*lst,sep='\n')
lst.sort(key=lambda x: x['绩点'], reverse=True)
for x in lst:
    print('姓名:',x['姓名'],'学号:',x['学号'],'绩点:',x['绩点'])#这里冒号删掉,逗号从引号里拿出来

代码贴出来,我执行一下看看

f那里应该是冒号,你写成逗号了

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7582155
  • 这篇博客也不错, 你可以看下【Python从入门到精通】(十九)Python对文件的读写操作一览表,非常实用,非常简单
  • 你还可以看下python参考手册中的 python- 走向编程的第一步
  • 除此之外, 这篇博客: python基本语法总结(超级全面,细致,只用一周就可以入门python到实践),会持续更新中的 看书总结的需要注意的知识点: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 一个对象的哈希值在生命周期内不改变,就被成为 可哈希。可哈希性使得对象能够作为字典键或集合成员使用,因为这些数据结构要在内部使用哈希值。

    可变容器(例如列表或字典)都不可哈希。所以,回过头来看文章开头的 TypeError ,就容易解释了,只有可哈希对象才能作为字典的键。

    同样,文章开头的列表 a ,也不能作为集合成员使用
    3 >= 1 ----- True(或的含义)
    与或非逻辑返回值就参照学的逻辑即可 ----- 1 or 3 — 1 1 and 3 ---- 3
    取反运算要考虑符号位的取反,结果可能为负数
    身份运算符:is、not is ,判断两个标识符是不是引用自同一个对象,即两个标识符的内容是否一样
    成员运算符:in、not in

    python中每使用调用一次 input(),就输入一行的内容。输入内容有几行,就要用几次 input()
    在python解释器中输入 dir(相关数据类型的符号)即可显示这些数据对象的内置方法eg:dir([])
    在Python中,变量就是变量,他没有类型,所说的类型是变量所指内存中的对象的类型
    注意!!!,如果循环被break语句终止,则与循环配套的else语句不会被执行,else语句只会在for语句顺利执行完毕,或者while语句条件为False时才会被执行

    pass语句是空语句,主要为了保持程序结构的完整性。pass不做任何事情,一般用作占位语句。
    当用户无法预计参数的数目时,可以使用*args类型的参数,*args代表一个元祖对象。args直接是元祖对象的变量名,**args代表一个字典对象,其中参数等号左边为键,右边为值,args直接是字典对象的变量名

    Python中赋值的实质是传递对对象的一种引用,当一个变量的值赋值给另一个变量时,二者同时指向同一个内存空间,只要不改变二者指向的内存空间地址(组合数据类型改变值),改变其中一个对象的值,另一个也会改变,深刻理解指针指向同一个内存空间的含义

    !!!注意:字符串的操作,切片如果不加步长,则一定是正向递增反向递减,才会满住某个范围的截取,如果有步长,则为左边开始截取的值,右边为结束,从左到右还是从右到左要根据正负值去判断,注意字符的最后一个为x[-1]

    python内置函数集:
    eval() 函数用来执行一个字符串表达式,并返回表达式的值

  • 您还可以看一下 白勇老师的Python编程的术与道:Python语言进阶课程中的 浅拷贝、深拷贝小节, 巩固相关知识点