为了账号安全,请及时绑定邮箱和手机立即绑定

t = (t2 - t1)*1000 if unit == 'ms' else t = (t2 - t1)

在python3.0中运行提示 错误

 File "F:\eclipse_workplace\test_python\hello.py", line 147

    t = (t2 - t1)*1000  if unit == 'ms' else t = (t2 - t1)

                   ^

SyntaxError: can't assign to conditional expression


在练习时也是没有通过,后来改成:if unit == 'ms':

                                                         t = (t2 - t1)*1000

                                                     else :

                                                           t = t2 -t1

才通过,就十分奇怪难道没有这种表达,看了别人的提问没有得到解决。

不知道这种表达叫什么,没有找到相关文档,求大神告知

正在回答

3 回答

你这种写法是用在条件过滤中,列表生成式的for循环后面用if...else来判断吧?正常的写条件判断应该是你写的第二种写法,第一种会报错,我在Python2.7上试了下你第一种这样写也不行。

1 回复 有任何疑惑可以回复我~
#1

welwel 提问者

看来教程里有点问题啊
2016-08-08 回复 有任何疑惑可以回复我~

t = (t2 - t1)*1000 if unit == 'ms' else  (t2 - t1)


1 回复 有任何疑惑可以回复我~
#1

welwel 提问者

对的哦,原来是这样,受教了
2016-08-09 回复 有任何疑惑可以回复我~

你的第一种写法应该是用 f(x) for x in list if A else B 应该是这么用

具体如果只用if else 判断的话就应该用正常的语句结构。

1 回复 有任何疑惑可以回复我~
#1

welwel 提问者

哦,好的,明白了
2016-08-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

t = (t2 - t1)*1000 if unit == 'ms' else t = (t2 - t1)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信