Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关于基本Python语法的简单问题_Python_Syntax_Python Idle - Fatal编程技术网

关于基本Python语法的简单问题

关于基本Python语法的简单问题,python,syntax,python-idle,Python,Syntax,Python Idle,我刚开始教自己如何编写代码,但我遇到了一个有点恼人的Python语法问题。每次我试图将课本中的示例直接复制到IDLE中时,都会出现语法错误。即使在重新输入之后,尝试不同的缩进,等等。很抱歉,这太基本了!此外,是否有办法在输入上述问题代码后“召回”该代码?谢谢 定义f(x,y,z): 返回x+y+z 结果=f(1,2,3) 打印(结果) --或者-- 定义f(x,y,z): 返回x+y+z 结果=f(1,2,3) 打印(结果) 我得到“syntaxerror:invalid syntax”(在'

我刚开始教自己如何编写代码,但我遇到了一个有点恼人的Python语法问题。每次我试图将课本中的示例直接复制到IDLE中时,都会出现语法错误。即使在重新输入之后,尝试不同的缩进,等等。很抱歉,这太基本了!此外,是否有办法在输入上述问题代码后“召回”该代码?谢谢

定义f(x,y,z): 返回x+y+z 结果=f(1,2,3) 打印(结果) --或者-- 定义f(x,y,z): 返回x+y+z 结果=f(1,2,3) 打印(结果) 我得到“syntaxerror:invalid syntax”(在'result'行上)


预期答案是6。

Python使用缩进标识代码块。因此,请确保您的代码块具有正确的缩进。

您正在将代码直接输入IDLE的交互窗口(也称为REPL-read execute print loop)窗口

在此模式下,您键入的每个语句都会立即执行。这种模式的一个怪癖是,Python需要在函数定义后加一个空行,以便它知道函数定义已经完成,并且可以执行它

因此,您的空闲输入需要如下所示(包括空闲的提示符):

或者,您可以像使用传统IDE一样使用IDLE,将代码写入文件,执行文件,编辑文件,然后重复


要执行此操作,请转到
文件
->
新文件
,然后在弹出的窗口中键入所有代码。您可以使用
Run
->
Run Module
执行代码,当然您也可以按预期保存和加载此文件。

语法没有问题,而且两个块完全相同?啊,好的-当您将其键入IDLE时,请确保在函数定义后键入一个空行。在
返回x+y+z
后,按enter键两次,直到您获得一个新的
>
PromptAlternative,
文件->新文件
,在其中键入所有代码,然后按F5运行它。这还允许您保存和加载文本(您的“回忆”问题)。无论何时处于交互模式,python都需要终止复合语句所需的空行。不是闲置。缩进是正确的。添加两个以上没有空行的语句是个问题。交互式python需要用空行终止复合语句。IDLE的Shell确保行为相同。是的,我将修复更具体的答案。
>>> def f(x, y, z):
        return x + y + z

>>> result = f(1, 2, 3)
>>> print(result)
6