2
>>> x = 15
if (x/2)*2 == x:
    print ('Even')
    else:
    print ('Odd')

SyntaxError: multiple statements found while compiling a single statement
>>> x = 15 if (x/2)*2 == x:
    print ('Even')
    else:
    print ('Odd')

SyntaxError: invalid syntax 
4

3 回答 3

1

你不能在 python 的一行中写多个语句,写

x = 15 
if (x/2)*2 == x: 
   print ('Even') 
else: 
    print ('Odd')

这里:

在此处输入图像描述

并得到

在此处输入图像描述

于 2013-08-02T09:51:28.420 回答
1

如果您真的想将其编译为单个语句,则需要为奇数结果添加一个子句:

x = 15
result = 'Even' if (x/2)*2 == x else 'Odd'; print(result)

但我不建议这样做,因为它不必要地令人困惑。

于 2015-06-28T16:43:59.443 回答
1

在交互式解释器中,您一次只能执行一条语句。但是您正试图一次执行整个代码块:

>>> x = 15
if (x/2)*2 == x:
    print ('Even')
else:
    print ('Odd')

>>>表示解释器提示)

但对于 Python,这是两件事。首先是变量赋值,然后是 if/else 构造。所以你必须这样做:

>>> x = 15
>>> if (x/2)*2 == x:
    print ('Even')
else:
    print ('Odd')

所以基本上,x = 15先单独运行。

于 2015-08-20T13:56:40.960 回答