float在python 3.2中没有属性int

-1 python random

我有一个错误,说"浮动没有属性int"错误.问题是编写一个函数,将参数作为图像,并绘制两条垂直线到img,一条红线从(50,0)到(50,300),另一条由随机着色的像素组成(150,50)到( 150,250).由于某种原因随机部分,我有randomcolor.int(0,255)是我有错误的地方.有什么我需要转换?这是我的代码:

from cImage import*
import random
RandomColor = random.random()


myImWin = ImageWin("Line Image", 300, 300)
lineImage = EmptyImage(300,300)
redPixel = Pixel(255,0,0)
randomRed = Pixel(RandomColor.int(0,255))
for i in range(300):
    for x in range(250):
    lineImage.setPixel(50,i,redPixel)
    randomRed.setPixel(150,x,randomRed)
lineImage.draw(myImWin)
randomRed.save("lineImage.gif")
Run Code Online (Sandbox Code Playgroud)

任何建议都会有所帮助,谢谢.

wkl*_*wkl 6

random.random()返回[0.0,1.0]范围内的随机浮点数.如果你想要它的整数,你必须这样做:

int(RandomColor) # would be 0 because random() is < 1.0
int(RandomColor * 256) # to get 0-255 
Run Code Online (Sandbox Code Playgroud)

你想要一个0-255之间的随机数,所以你不能这样做:

random.randint(0,255)
Run Code Online (Sandbox Code Playgroud)