星夕ING 发表于 2022-11-25 14:37:10

一道练习题题意分析

编写一个 Python 类 Flower,它有三个实例变量,类型分别为 str、int 和 float,
分别代表花的名称、花瓣数量和价格。
您的类必须包含一个初始值设定项,该初始值设定项将每个变量初始化为适当的值,
并且您的类应包含用于设置每种类型的值和检索的方法
每个类型的值。您的程序应该足够健壮,可以处理可能
不适当的输入。

就是这道题,他的意思是不是说,我这样写:
class Flower:
      name = '一种花'
      nums = 7
      price = 1.5
      def allow_input():#允许用户更改成自己心仪的数值,且如果用户输入不恰当的类型,不会报错而是提醒用户输入正确类型,直至输入正确为止
            pass

大体我打算这样写,请问大家觉得这样符合题意吗?总感觉哪里怪怪的,但是用init也不对叭?。。。。

jackz007 发表于 2022-11-25 14:43:43

         这种题仅靠文字描述是远远不够的,每一种要求必须进行举例说明,否则,难以严谨、准确把握题目要求。

tommyyu 发表于 2022-11-25 14:49:23

这个是我的理解class Flower:
    def __init__(self, name = '一种花', nums = 7, price = 1.5):
      if not(isinstance(name, str) and isinstance(nums, int) and isinstance(price, float)):
            print('输入不合法!')
            return
      self.name = name
      self.nums = nums
      self.price= price

      
Flower()
<__main__.Flower object at 0x00000250D6E8E470>
x = Flower()
x.name
'一种花'
x.nums
7
x.price
1.5
y = Flower('花', 1.1, 7)
输入不合法!
y = Flower('花', 10, 1.1)
y
<__main__.Flower object at 0x00000250D6E8E470>
y.name
'花'
y.nums
10
y.price
1.1

星夕ING 发表于 2022-11-25 14:51:03

tommyyu 发表于 2022-11-25 14:49
这个是我的理解

哇恍然大悟!!!谢谢大佬啊啊{:5_105:}

星夕ING 发表于 2022-11-25 14:51:30

jackz007 发表于 2022-11-25 14:43
这种题仅靠文字描述是远远不够的,每一种要求必须进行举例说明,否则,难以严谨、准确把握题目要 ...

支持!!!但是题目原来就长这样,真的很崩溃{:10_266:}

cflying 发表于 2022-11-25 14:53:14

对,就是一个class的事,但是你初始按理来说不是应该整到init里去么,这样看着不习惯
过程中要考虑并处理输入错误这种情况
页: [1]
查看完整版本: 一道练习题题意分析