关于Python第10讲的课后习题
hello大家好,我的问题主要是第10讲:一个打激素数组的动一动手的第一题,原题如下:利用 for 循环打印上边 member 列表中的每个内容,如图:
https://fishc.com.cn/forum.php?mod=viewthread&tid=38620&extra=page%3D1%26filter%3Dtypeid%26typeid%3D398
小甲鱼给出的课后答案是:
for each in member:
print(each)
可是复制粘贴后,python给出了报错:SyntaxError: multiple statements found while compiling a single statement
我的问题是
1.这个报错意味着什么?
2.小甲鱼给的答案的each代表是什么意思,好像还没有学到过...?
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> for i in member:
print(i)
小甲鱼
88
黑夜
90
迷途
85
怡静
90
秋舞斜阳
88
列表类型,是可迭代对象,你需要给member定义,单一的member没有意义,你看看是不是没有定义变量,这里的each 和我的i是一样的,都是从迭代对象中拿出一个来输出
SyntaxError: multiple statements found while compiling a single statement
编译一条语句时发现多条语句
这个报错原因是因为 IDLE 交互界面只支持一次运行一个语句,而你肯定是一次性复制了:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:
print(each)
这两个语句块,导致报错,你如果先复制第一行,然后回车,在复制 2、3两行 然后回车,就不会报错
你可以新建个脚本文件,在脚本文件内复制好代码 保存后按F5 运行代码,这样就不会出现上面的那种错误
或者你每次复制一个语句,就回车一次,这里的 for循环,都属于for 的这一个语句块,虽然是两行,但是是属于for 的内容 所以不会报错 1、自己下载个解释器,最好不要用系统自带的。虽然锻炼动手能力了,但是新手使用时会一脸懵逼。出现各种问题解决不了。这个错误就是你复制黏贴出错了。
2、each就是个变量名,没啥特殊含义。for each in member: 这句话就是遍历member中的每一个元素,单个元素遍历的时候赋值为each。 本帖最后由 1223253411 于 2020-6-16 09:27 编辑
建议在动手敲代码前先选择适合自己的编译器
类似pycharm\vim等
这样你的这些复制粘贴问题会少很多,甚至可以说你的代码问题会少很多,不是甚至,是一定 AINIDEREN 发表于 2020-6-16 06:33
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
>>> for i in member:
...
感谢感谢 生活愉快!
页:
[1]