在python中将float转换为十六进制

时间:2015-03-02 18:47:43

标签: python python-3.x turtle-graphics

所以,我试图将这个Scratch程序转换为python程序:http://scratch.mit.edu/projects/1963078/#editor。我目前正在使用模式3.这就是我所拥有的:

from turtle import*
import random
import math
turtle = Turtle()
bgcolor("#000000")
ht()
speed(0)
goto(0,0)
def draw():
    x1 = (random.randint(0,250))
    y1 = (random.randint(0,250))
    x2 = (random.randint(0,250))
    y2 = (random.randint(0,250))
    counts = 0
    while counts < 250:
        count = 0
        while count<250:
            c = (math.tan(math.sqrt(((xcor() - x1)**2) + ((ycor() - y1)**2))))*(math.tan(math.sqrt(((xcor() - x2)**2) + ((ycor() - y2)**2))))
            color(c)
            setx(xcor+1)
            count += 1
        counts +=1
draw()

我知道很多人都使用python 2,但是我使用的是3.现在的问题是,当它使用那条长行生成颜色时,它会返回一个十进制数字,当我需要获得十六进制代码。关于我如何转换它以得到像刮刮项目的结果的任何提示?谢谢!

1 个答案:

答案 0 :(得分:0)

没有任何标准方法可以将浮点/十进制数转换为十六进制(通常十六进制只用于正整数)...所以你必须决定如何将小数转换为正整数。

但是,一旦得到正整数,就可以使用以下方法将其转换为RGB十六进制颜色(例如,#AABBCC):

>>> some_number = 123456
>>> hex_color = "#%06X" %(some_number, )
>>> print hex_color
#01E240