爱骆骆联盟盟主 发表于 2020-3-22 17:17:18

关于字符串与浮点型的问题

class Rectangle:
    length = 5
    width = 4
   
    def setRect(self):
      print("请输入矩形的长和宽...")
      self.length = float(input('长:'))
      self.width = float(input('宽:'))

    def getRect(self):
      print('这个矩形的长是:%.2f,宽是:%.2f' % (self.length, self.width))
      
    def getArea(self):
      return self.length * self.width
这是第36讲最后一题,当我采用了甲鱼的方法创建了一个类之后,试图对其width和length进行修改,然而,当我试图输入一个浮点型数据之后,再想获取width和length,就会显示如下错误

Traceback (most recent call last):
File "<pyshell#128>", line 1, in <module>
    rect.getRect()
File "<pyshell#115>", line 9, in getRect
    print('这个矩形的长是%.2f,宽是%.2f' % (self.length,self.width))
TypeError: must be real number, not str

我试图验证python3.8是不是有一些bug,但是发现并没有讲浮点型和字符串混为一谈
有没有大神解答一下最上面的代码哪里出现了问题
type(float('3.5'))
<class 'float'>

爱骆骆联盟盟主 发表于 2020-3-22 17:20:45

不知道为什么我将代码重新运行一遍又可以了。。。。。。。

爱骆骆联盟盟主 发表于 2020-3-22 17:21:44

一个账号 发表于 2020-3-22 17:20
在我这正常:

我也不知道为什么,我重新跑一遍又可以了

一个账号 发表于 2020-3-22 17:21:59

爱骆骆联盟盟主 发表于 2020-3-22 17:20
不知道为什么我将代码重新运行一遍又可以了。。。。。。。

你一定是没有重新写:rect = Rectangle()

爱骆骆联盟盟主 发表于 2020-3-22 17:22:55

一个账号 发表于 2020-3-22 17:21
你一定是没有重新写:rect = Rectangle()

有可能??我不确定,感谢解答
页: [1]
查看完整版本: 关于字符串与浮点型的问题