关于python中while if 顶用等号
关于python中while if 中用等号本帖最后由 zrhmsn 于 2013-07-24 15:11:57 编辑我的代码是: a 2 if
关于python中while if 中用等号
本帖最后由 zrhmsn 于 2013-07-24 15:11:57 编辑 我的代码是:
a = 2
if a = 2:
print "ni ma"
输出为:
File "./mytest.py", line 4
if a = 2:
^
SyntaxError: invalid syntax
python不能在判断中用赋值吗,如果写在外面很不方便的,有没有更好的解决方法!
[解决办法]比较运算符是
==
!=
>
<
is
in
=是赋值,所以出现“语法错误”
[解决办法]这个嘛,各家语言不同
例如第一种写法在php的话,第一个if就必然成立,后面的elif/else都不起作用的
根据第二种写法的理解,如果a不影响后续程序,python也可以直接用 if funcA() 做判断条件,
如果a后续还有用,判断后再赋值,但会令fun()计算多次
简单的写法(少点计算)我要再想想……
[解决办法]C语言的赋值表达式有返回值在很大程度上被认为是设计的缺陷,带来的害处远大于好处
python是刻意纠正了这点