只有一个关于三元条件运算符的小问题,这个问题让我困惑了很长一段时间。
代码示例(python 2.7):
>>> x, y = None, 3
>>> x, y
(None, 3)
>>> (x == None and x or y)
3
>>> (x != None and x or y)
3
>>> (x if x == None else y)
第三行和第四行是老式的条件运算符。两者都会产生相同的结果。显然,前者的结果是“错误的”。根据python的说法,也许这不是错误的。但是在程序中很容易出错,而
最近,我对以下问题感到矛盾。这可能只是一种风格上的选择,但我想知道以下代码之间是否存在编程差异……(在python中,但适用于大多数语言)
案例1:
arg = A if condition else B
result = func(arg)
案例2:
if condition:
result = func(A)
else:
result = func(B)
这两者之间的选择有没有行业标准?有编程上的不同吗?
我对Python非常陌生,我必须为我的班级做一个温度转换器,下面是我开始做的。这给了我一个关于Colon的语法错误,我试过一个分号和一个逗号,却不知道该怎么做。就像我说的,编程是全新的,所以任何帮助都是非常感谢的。
scale = float(input("If you would like to convert to Farenheint, write '1'.
If you would like to convert to Celcius, write '2'"))
if scale == 1