鱼C论坛

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

为什么我得return他输出不不出来

[复制链接]
发表于 2024-9-22 11:19:53 | 显示全部楼层 |阅读模式

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

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

x
class Rectangle:
    length = None

    width = None

    def set_length(self):

        self.length = float(input("请输入矩形的长度:"))

    def set_width(self):

        self.width = float(input("请输入矩形的宽度:"))

    def get_perimeter(self):

        if not self.length:
            self.set_length()

        if not self.width:
            self.set_width()

        return (self.length + self.width) * 2

    def get_area(self):

        if not self.length:
            self.set_length()

        if not self.width:
            self.set_width()
        return self.length * self.width
1726975116779.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-9-22 11:23:31 | 显示全部楼层
你好,鱼油!

从你的描述来看,应该是调用了方法但是没有输出。需要使用 `print` 函数来显示 `return` 的结果。

例子:
rect = Rectangle()
print("周长是:", rect.get_perimeter())
print("面积是:", rect.get_area())

这样会调用类中的方法并输出结果。

另外,注意代码里的 `if not self.length` 和 `if not self.width`,这在初始情况下是有效的,但如果输入 `0` 作为长度或者宽度时会不正确,可以改成:
if self.length is None:
    self.set_length()

if self.width is None:
    self.set_width()

以下是修改后的完整代码:
class Rectangle:
    length = None
    width = None

    def set_length(self):
        self.length = float(input("请输入矩形的长度:"))

    def set_width(self):
        self.width = float(input("请输入矩形的宽度:"))

    def get_perimeter(self):
        if self.length is None:
            self.set_length()
        if self.width is None:
            self.set_width()
        return (self.length + self.width) * 2

    def get_area(self):
        if self.length is None:
            self.set_length()
        if self.width is None:
            self.set_width()
        return self.length * self.width

# 实例化对象并打印结果
rect = Rectangle()
print("周长是:", rect.get_perimeter())
print("面积是:", rect.get_area())

希望这对你有帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-22 12:29:47 | 显示全部楼层
需要print ,只有在交互式中return 才会输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-9-22 12:57:07 | 显示全部楼层
如果鱼油想查看或打印 get_area 方法的返回值,你需要确保你在调用这个方法时使用 print 函数。

例如,你应该这样做:
d = Rectangle()
area = d.get_area()
print(area)
你的代码中,调用 d.get_area() 是正确的,但如果你没有使用 print 函数,Python 默认不会在脚本模式下显示方法的返回值。

只有在交互模式下(比如在一个 Python 解释器或者使用 Jupyter Notebook时),才会显示返回值。

此外,确保你的 Rectangle 类初始化了 length 和 width 的属性。

这样,即使在没有手动设置长度和宽度的情况下,也可以通过调用 set_length 和 set_width 方法在 get_area 和 get_perimeter 中设置这些属性。

如果你运行的环境支持输入,你的方法看起来应该可以正常工作。

但请注意,如果你在一个不支持标准输入的环境中运行这段代码(例如某些类型的自动化脚本环境),input 函数可能会导致错误或挂起。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 18:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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