lzb1001 发表于 2023-4-23 08:45:54

写成函数是不是这样?

1.x, y, z = 6, 5, 4
2.if x < y:
3.        small = x
4.        if z < small:
5.                small = z
6.        elif y < z:
7.                small = y
8        .else:
9.                small = z

上面的代码改成函数形式是不是下面这样:

def san(x, y, z):
    if x < y:
      small = x
      if z < small:
            small = z

    elif y < z:
      small = y

    else:
      small = z

    return small

x, y, z = 6, 5, 4
small = san(x, y, z)
print(small)

wp231957 发表于 2023-4-23 09:05:32

把那三个small=?   也可以直接换成return?

lzb1001 发表于 2023-4-23 09:35:31

本帖最后由 lzb1001 于 2023-4-23 09:36 编辑

wp231957 发表于 2023-4-23 09:05
把那三个small=?   也可以直接换成return?

大神的意思是下面这样吗:四个small = ?改成 return ?

def san(x, y, z):
    if x < y:
      return x
      if z < small:
            return z

    elif y < z:
      return y

    else:
      return z

    return small

x, y, z = 6, 5, 4
small = san(x, y, z)
print(small)

isdkz 发表于 2023-4-23 10:18:53

您的代码接近正确,但有一点需要修改。请注意在您的函数中,当`x < y`为`True`时,您需要在这个条件块中包含所有可能的情况。以下是正确的函数实现:

def san(x, y, z):
    if x < y:
      small = x
      if z < small:
            small = z
    elif y < z:
      small = y
    else:
      small = z

    return small

x, y, z = 6, 5, 4
small = san(x, y, z)
print(small)


更简洁的版本:

def san(x, y, z):
    return min(x, y, z)

x, y, z = 6, 5, 4
small = san(x, y, z)
print(small)


这个简化版本使用Python的内置`min`函数找到三个数中的最小值,功能与您的原始代码相同。
页: [1]
查看完整版本: 写成函数是不是这样?