大白菜60 发表于 2020-10-30 13:50:32

第15讲第4题的答案是不是有BUG?

4. 请将下面的条件分支语句,使用条件表达式实现,并尝试理解这段代码的目的是什么?
if a < b:
    if a < c:
      print(a)
    else:
      print(c)
else:
    if b < c:
      print(b)
    else:
      print(c)


a = 5
b = 4
c = 7

print(a) if a < c else print(c) if a < b else print(b) if b < c else print(c)

a大于b小于c时,返回的是a ,达不到答案说的找出a,b,c谁最小的目的

大白菜60 发表于 2020-10-30 13:56:16

用分支语句时可以得出4,变成条件表达式时返回的是5

sunrise085 发表于 2020-10-30 14:23:57

这个条件表达式和上面的if…else…根本不是一个意思。。。。
print(a) if a < c else print(c) if a < b else print(b) if b < c else print(c)
#这个条件表达式展开写,形式如下
if a<c:
    print(a)
else:
    if a<b:
      print(c)
    else:
      if b<c:
            print(b)
      else:
            print(c)
            
if a < b:
    if a < c:
      print(a)
    else:
      print(c)
else:
    if b < c:
      print(b)
    else:
      print(c)
#上面的这个if…else…写成条件分支表达式如下
print(a) if a < c and a < b else print(c) if a < b else print(b) if b < c else print(c)

半夏冬青 发表于 2020-10-30 15:02:32

楼上说的对!

LuLD 发表于 2020-10-30 16:36:17

4楼说的对
页: [1]
查看完整版本: 第15讲第4题的答案是不是有BUG?