鱼C论坛

 找回密码
 立即注册
查看: 2006|回复: 3

写成函数是不是这样?

[复制链接]
发表于 2023-4-23 08:45:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-23 09:05:32 From FishC Mobile | 显示全部楼层
把那三个small=?   也可以直接换成return  ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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`函数找到三个数中的最小值,功能与您的原始代码相同。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 05:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表