无限循环比较点距离

时间:2018-07-06 01:07:08

标签: python python-3.x tkinter while-loop

这只是代码的一部分,我知道它不起作用。其他功能,导入等对这个问题并不重要。

我想知道dist比r小多少倍。

def points():
    gencolor = random.randint(100000,999999)
    hexcolor = ('#{}'.format(gencolor))
    s = 0
    while s <5:
        s += 1
        my_x = random.randint(0, WIDTH)
        my_y = random.randint(0, HEIGHT)
        canvas.create_oval(my_x, my_y, my_x + (WIDTH / 60), my_y + (WIDTH / 60), outline='black', width=(WIDTH / 300), fill=hexcolor)
        r = WIDTH / 2
        dist = ((((r - (my_x)) ** 2) + ((r - (my_y)) ** 2)) ** (1 / 2))
        circle = 0
         while dist < r:
             circle += 1

window.update()
canvas.pack()

1 个答案:

答案 0 :(得分:0)

考虑以下代码:

dist = 3
r = 10
circle = 0

while dist < r:
    circle += 1

数字是组成的,但这是一个无限循环,因为dist在循环体内从未改变。看来您正在尝试确定rdist之间的差异,可以使用circle = r - dist来完成。