本杰明123 发表于 2023-8-31 16:14:23

小白求助

i = 10
while i:
    print('我爱鱼C!')
    i = i - 1
这个运行出来显示SyntaxError: multiple statements found while compiling a single statement
求教????

isdkz 发表于 2023-8-31 16:14:43

这个错误是由于在while循环的条件语句中使用了多个语句。在Python中,条件语句只能包含一个表达式,而不能包含多个语句。

要解决这个问题,你可以将多个语句放在一个代码块中,然后将该代码块作为条件语句的表达式。你可以使用冒号(:)和缩进来定义一个代码块。

下面是修复后的代码:

i = 10
while i:
    print('我爱鱼C!')
    i = i - 1


在这个修复后的代码中,print语句和i = i - 1语句都在while循环的代码块中,它们通过缩进来表示它们属于同一个代码块。这样,你就可以避免SyntaxError错误。

本杰明123 发表于 2023-8-31 16:17:44

isdkz 发表于 2023-8-31 16:14
这个错误是由于在while循环的条件语句中使用了多个语句。在Python中,条件语句只能包含一个表达式,而不能 ...

你这代码貌似没修改呀{:10_281:}

hellomyprogram 发表于 2023-8-31 16:31:10

本帖最后由 hellomyprogram 于 2023-8-31 16:37 编辑

你这哪有问题啊,这不好好的?
别在 Shell 运行, Shell 一次只能完成一行代码,新建文件,放在文件里面。
当然还有一种方法,你可以这样:
if 1:
        i = 10
        while i:
                print('我爱鱼C!')
                i = i - 1
Shell 要求一次只能输入一行 0 缩进的代码,你在外面套上一层 if 1 就相当于给全部代码加了一个缩进,只让 if 1 没有缩进就行。
另外你可以将
i = 10

while i:
        print('我爱鱼C!')
        i = i - 1
分两次发送给 Shell 处理,也不会报错。

陶远航 发表于 2023-8-31 16:38:08

idle只能一行一行执行

本杰明123 发表于 2023-8-31 16:50:48

hellomyprogram 发表于 2023-8-31 16:31
你这哪有问题啊,这不好好的?
别在 Shell 运行, Shell 一次只能完成一行代码,新建文件,放在文件里面。 ...

没错你说的对需要建立新的py文件就可以运行了
页: [1]
查看完整版本: 小白求助