Juniorboy 发表于 2020-6-4 20:22:32

三目运算符

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 and x < z) else (y if y < z else z)这个啊
这个 x < z这个没理解怎么来的,求解,麻烦了~

Twilight6 发表于 2020-6-4 20:24:35

本帖最后由 Twilight6 于 2020-6-4 20:37 编辑

条件 x < y and x < z 符合 返回x 的值 ,不符合则继续判断条件 y < z若这个条件符合 则返回 y否则返回 z

这个 x < z这个没理解怎么来的?
if x < y:
    small = x
    if z < small:
      small = z
观察发现small = x 在 if x < y 内 在 if z< small 条件外 因为 small = x则 可以看成 z < x

如果z < x 条件满足 则要进入if z < small:
      small = z
导致 small = z 了 而不是 等于 x   所以要让 z < x 这个条件不成立 才能使得 small = x即 x < z

柿子饼同学 发表于 2020-6-4 20:34:25

这里和ifelse 是一样的x<y and x<z就相当于x是最小值。
else中是如果y比x小,small就等于y

小甲鱼的铁粉 发表于 2020-6-4 20:56:32

Twilight6 发表于 2020-6-4 20:24
条件 x < y and x < z 符合 返回x 的值 ,不符合则继续判断条件 y < z若这个条件符合 则返回 y否则返 ...

昨天是400最佳,今天就470了,你太猛了吧{:10_305:}

Twilight6 发表于 2020-6-4 20:57:24

小甲鱼的铁粉 发表于 2020-6-4 20:56
昨天是400最佳,今天就470了,你太猛了吧

{:10_250:}没有 已经过四百四天了

小甲鱼的铁粉 发表于 2020-6-4 20:59:23

Twilight6 发表于 2020-6-4 20:57
没有 已经过四百四天了

{:10_257:}

Twilight6 发表于 2020-6-4 21:00:30

小甲鱼的铁粉 发表于 2020-6-4 20:59


只是想趁着疫情有时间想拿1000最佳 看小甲鱼的书籍

小甲鱼的铁粉 发表于 2020-6-4 21:02:22

Twilight6 发表于 2020-6-4 21:00
只是想趁着疫情有时间想拿1000最佳 看小甲鱼的书籍

哇,这个可以哎,我也试试{:10_256:},对了,新帖有个问题,我也不会,你去看一下吧

Twilight6 发表于 2020-6-4 21:03:21

小甲鱼的铁粉 发表于 2020-6-4 21:02
哇,这个可以哎,我也试试,对了,新帖有个问题,我也不会,你去看一下吧

没看见丫 嘿嘿

小甲鱼的铁粉 发表于 2020-6-4 21:04:47

Twilight6 发表于 2020-6-4 21:03
没看见丫 嘿嘿

有一个int->char转换的问题,看不懂哎{:10_266:}

Twilight6 发表于 2020-6-4 21:05:15

小甲鱼的铁粉 发表于 2020-6-4 21:04
有一个int->char转换的问题,看不懂哎

我只会 Python 嘿嘿~

小甲鱼的铁粉 发表于 2020-6-4 21:06:15

Twilight6 发表于 2020-6-4 21:05
我只会 Python 嘿嘿~

好吧{:10_312:},我一直认为你是全能选手

Twilight6 发表于 2020-6-4 21:09:42

小甲鱼的铁粉 发表于 2020-6-4 21:06
好吧,我一直认为你是全能选手

Python 太火了所以论坛大部分问题 都是 Python其次就是 C
页: [1]
查看完整版本: 三目运算符