窝在家里写程序 发表于 2020-5-26 19:07:52

求大神解答!!!!

x, y, z = 6, 5, 4
if x < y:
    small = x
    if z < small:
      small = z
elif y < z:
    small = y
else:
    small = z



small = x if x < y else y < z else z   麻烦问一下我这样用三元操作符可不可以????

Twilight6 发表于 2020-5-26 19:09:53

本帖最后由 Twilight6 于 2020-5-26 19:12 编辑

不行,一个if 只能有一个else

窝在家里写程序 发表于 2020-5-26 19:13:56

Twilight6 发表于 2020-5-26 19:09
不行,只能有一个else

我记得那个程序都可以用两个else来啊只不过是下面的那个else要在前面一个else的模块里而已

Twilight6 发表于 2020-5-26 19:14:50

窝在家里写程序 发表于 2020-5-26 19:13
我记得那个程序都可以用两个else来啊只不过是下面的那个else要在前面一个else的模块里而已

我刚刚少打字了 重新编辑了

窝在家里写程序 发表于 2020-5-26 19:18:20

Twilight6 发表于 2020-5-26 19:14
我刚刚少打字了 重新编辑了

Twilight6 发表于 2020-5-26 19:18:27

三元运算符是用于简写一些简单且单一的 条件语句,返回结果,而且不能赋值操作要么返回一个变量 要么就返回串字符串

_2_ 发表于 2020-5-26 19:20:27

窝在家里写程序 发表于 2020-5-26 19:13
我记得那个程序都可以用两个else来啊只不过是下面的那个else要在前面一个else的模块里而已

不是 else 是 elif
最后一个才是 else

Twilight6 发表于 2020-5-26 19:22:25

_2_ 发表于 2020-5-26 19:20
不是 else 是 elif
最后一个才是 else

三元运算符 没 elif 操作

窝在家里写程序 发表于 2020-5-26 19:23:59

Twilight6 发表于 2020-5-26 19:18
三元运算符是用于简写一些简单且单一的 条件语句,返回结果,而且不能赋值操作要么返回一个变量 要么就返 ...

意思上就是说可以这个只是用于只有两个值的情况下的???

窝在家里写程序 发表于 2020-5-26 19:24:34

_2_ 发表于 2020-5-26 19:20
不是 else 是 elif
最后一个才是 else

嗯????   没看懂

Twilight6 发表于 2020-5-26 19:26:18

窝在家里写程序 发表于 2020-5-26 19:23
意思上就是说可以这个只是用于只有两个值的情况下的???

x, y, z = 6, 5, 4
if x < y:
    print(x)
elif y < z:
    print(y)
else:
    print(z)
这样的代码就可以这样简写:
print(x if x < y else y if y < zelse z)

Twilight6 发表于 2020-5-26 19:27:17

窝在家里写程序 发表于 2020-5-26 19:24
嗯????   没看懂

先去洗澡了如果帮助到你就给个最佳吧{:10_281:}

窝在家里写程序 发表于 2020-5-26 19:28:53

Twilight6 发表于 2020-5-26 19:26
这样的代码就可以这样简写:

y这个数为啥真假都有咯

Twilight6 发表于 2020-5-26 19:33:50

我突然想起来 可以最后赋值 不能在中途赋值 small = (x if x < y else y if y < zelse z)

窝在家里写程序 发表于 2020-5-26 19:35:31

Twilight6 发表于 2020-5-26 19:33
我突然想起来 可以最后赋值 不能在中途赋值

Twilight6 发表于 2020-5-26 20:12:46

窝在家里写程序 发表于 2020-5-26 19:35


{:10_297:}
页: [1]
查看完整版本: 求大神解答!!!!