为了账号安全,请及时绑定邮箱和手机立即绑定

*分解操作报错

/ 猿问

*分解操作报错

qq_strengthoo_0 2017-02-20 17:51:20
简单的去头尾求平均值,代码如下:
def avg(x):
    return sum(x)/len(x)
def drop_first_last(grades):
    first,*middle,last = grades
    return avg(middle)
Mygrades=[98,59,61,60]
drop_first_last(Mygrades)
报错信息如下
  first,*middle,last = grades
        ^
SyntaxError: invalid syntax
请问这个报错是什么意思,不能用*吗?系统认为*是乘法吗?


查看完整描述

2 回答

已采纳
?
习惯受伤

* 号不是正确的python有效标识符,所以报错。python 标识符由字母、数字、下划线组成,首位不能是数字。

查看完整回答
1 反对 回复 2017-02-20
  • qq_strengthoo_0
    qq_strengthoo_0
    我看的是Python学习手册第三版,书上的例子难道不对吗,也是醉了,就是第一章的第二个问题
?
千载悠悠丶

Syntax,语法;SyntaxError顾名思义就是语法错误呀,根据报错信息也表明是*middle出现了语法错误。而python变量的命名规则是开头必须下划线或者字母,开头用*是违反语法的。不要把C语言的指针和这个混淆。

查看完整回答
反对 回复 2017-02-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信