首页 > 编程语言 >【Python】TypeError: integer argument expected, got float【‘/’与'//'的区别】

【Python】TypeError: integer argument expected, got float【‘/’与'//'的区别】

时间:2023-01-08 10:22:58浏览次数:45  
标签:TypeError Python image float 1000 Image resize size

运行如下代码:突然出现错误。

from PIL import Image
image=Image.open('./image/3.JPG')
print(image)
image_1=image.resize((1000,1000))
image_2=image.resize((image.size[0]/3,image.size[1]/3))
image_2.show()

错误代码显示

Traceback (most recent call last):
  File "H:\PythonDemo\pythonstudy\TurtleDraw.py", line 407, in <module>
    image_2=image.resize((image.size[0]/3,image.size[1]/3))
  File "E:\Python\lib\site-packages\PIL\Image.py", line 2192, in resize
    return self._new(self.im.resize(size, resample, box))
TypeError: integer argument expected, got float

意思就是得到的是float数据,不是整数。这里需要获取整数。所以需要更改一下:正确代码如下:

from PIL import Image
image=Image.open('./image/3.JPG')
print(image)
image_1=image.resize((1000,1000))
image_2=image.resize((image.size[0]//3,image.size[1]//3))
image_2.show()

这也就是运算符:‘/’和‘//’的区别,

‘/’这个除是浮点整除发,返回的是一个浮点结果,特别是很多除不尽的数据。

‘//’这个向下整除运算符,结果是一个整数,获取的是比商小,但是又最接近于商的整数。

 

标签:TypeError,Python,image,float,1000,Image,resize,size
From: https://www.cnblogs.com/ygyalex/p/17034163.html

相关文章