同舟 发表于 2022-12-13 09:51:54

看了小甲鱼视频,写了一段1加到100的代码,结果,,,

看了小甲鱼视频,写了一段1加到100的代码,结果如图:(晕 了,不会传图,没反应)


Python 3.11.0 (main, Oct 24 2022, 18:26:48) on win32
Type "help", "copyright", "credits" or "license()" for more information.
i = 1;
a = 0;
while i <= 100 :
    print(i)
    a += i
    i += 1
print(a)
SyntaxError: multiple statements found while compiling a single statement



香蕉那个不拿拿 发表于 2022-12-13 10:06:10

本帖最后由 香蕉那个不拿拿 于 2022-12-13 10:08 编辑

不要用IDLE来复制代码编写
用File中的 NEW File新建文件来编写就可以啦~

tommyyu 发表于 2022-12-13 10:06:59

i = 1;a = 0;while i <= 100 :
    print(i)
    a += i
    i += 1print(a)分别是4条语句,要逐条输入

错误:>>> i = 1;
a = 0;
while i <= 100 :
    print(i)
    a += i
    i += 1
print(a)
SyntaxError: multiple statements found while compiling a single statement
正确:
>>> i = 1;
>>> a = 0;
>>> while i <= 100:
        print(i)
        a += i
        i += 1

       
1
2
3
4
# ... 此处省略 5~99 ... #
100
>>> print(a)
5050
>>>

香蕉那个不拿拿 发表于 2022-12-13 10:07:22

你在IDLE编写直接复制python会以为这只是一个语句
他就会晕了
如果执意用IDLE,就用手一步一步打出来

同舟 发表于 2022-12-13 10:09:01

香蕉那个不拿拿 发表于 2022-12-13 10:06
不要用IDLE来复制代码编写
用NEW File来编写就可以啦~

用NEW FILE 编写是可以运行的,就是不懂为什么。

香蕉那个不拿拿 发表于 2022-12-13 10:09:36

这是因为IDLE是给一个语句,提出一个反馈

香蕉那个不拿拿 发表于 2022-12-13 10:10:08

但是new file 直接就是一个程序,可以编译多个语句

香蕉那个不拿拿 发表于 2022-12-13 10:11:28

所以在IDLE模式下不能编译多个语句,就比如直接复制一个代码块,python小姐就会以为是一个语句,却发现编译不了,就会报错

Twilight6 发表于 2022-12-13 10:12:52

同舟 发表于 2022-12-13 10:09
用NEW FILE 编写是可以运行的,就是不懂为什么。


简单来说,IDLE 不支持多行多语句的代码一次性拷贝后执行,只能每输入一行回车执行,否则就会抛出这种错误

而 Ctrl + N 新建文件,将代码在文件中完整输入后执行肯定是没问题的,另外 Python 的其他第三方 IDE 在 Python 控制台就没有 IDLE 这种情况,例如 PyCharm

同舟 发表于 2022-12-13 10:13:28

tommyyu 发表于 2022-12-13 10:06
分别是4条语句,要逐条输入

错误:正确:

对的,我就是是直接贴过去的。手动一条条输入就没问题了。谢谢。

同舟 发表于 2022-12-13 10:14:27

香蕉那个不拿拿 发表于 2022-12-13 10:07
你在IDLE编写直接复制python会以为这只是一个语句
他就会晕了
如果执意用IDLE,就用手一步一步打出来

是的,试了一条条敲就没有问题了。谢谢

同舟 发表于 2022-12-13 10:15:43

Twilight6 发表于 2022-12-13 10:12
简单来说,IDLE 不支持多行多语句的代码一次性拷贝后执行,只能每输入一行回车执行,否则就会抛出这种 ...

{:5_110:}嗯,重每条重敲了一遍就可以了,谢谢。
页: [1]
查看完整版本: 看了小甲鱼视频,写了一段1加到100的代码,结果,,,