【发布时间】:2011-12-08 12:31:38
【问题描述】:
在 C 中,可以做到
while( (i=a) != b ) { }
但在 Python 中,似乎不能。
while (i = sys.stdin.read(1)) != "\n":
生成
while (i = sys.stdin.read(1)) != "\n":
^
SyntaxError: invalid syntax
(^ 应该在= 上)
有解决办法吗?
【问题讨论】:
-
哦,这很尴尬...
readline()与raw_input()相比如何? -
@tekknolagi 他可能没有收到您的评论。通过在评论文本中添加
@name来 ping 一个人是个好主意。 -
@JochenRitzel 看到我的评论了吗?对不起:)
-
这在 Python 中不起作用的原因是赋值是 statements 而不是 expressions - 这仅仅是由于语法产生规则.
-
查看 Python 常见问题以获取解释:Why can’t I use an assignment in an expression?。它提倡迭代器或
while True。
标签: python loops while-loop conditional-statements