cab_bage 2021-07-28 21:34 采纳率: 57.1%
浏览 21
已结题

一个关于python的小小问题

Python怎么用turtle生成一个随机点,当点击它的时候继续生成下一个。(Python对函数理解不深想用onclick()发现不好使)

  • 写回答

1条回答 默认 最新

  • Soda Wang 2021-07-29 11:56
    关注
    import random
    import turtle
    
    turtle.getscreen().bgcolor("pink")
    
    # point size
    R = 20
    
    # set speed (optional)
    turtle.speed("fastest")
    
    # screen size for generate point
    size = turtle.getscreen().screensize()
    W = size[0]
    H = size[1]
    
    # save position
    X = 0
    Y = 0
    
    
    def draw_rand_circle():
        global W, H, X, Y
        # generate point in screen
        X = random.randrange(-W+R, W-R)
        Y = random.randrange(-H, H-2*R)
    
        # draw circle
        turtle.pencolor("pink")
        turtle.goto(X, Y)
        turtle.color("yellow", "green")
        turtle.begin_fill()
        turtle.circle(R)
        turtle.end_fill()
    
    def redraw(a, b):
        global X, Y
        # is click in the circle?
        if X-R < a < X+R and Y < b < Y+2*R:
            draw_rand_circle()
    
    draw_rand_circle()
    turtle.getscreen().onclick(redraw)
    
    turtle.mainloop()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月28日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度