Python中如何让自定义函数每次调用都触发随机事件
问题原因
你的代码中x、y的随机数生成逻辑写在函数外的全局作用域,这部分代码只会在程序启动时执行一次,后续所有对randomspot()的调用,都会复用第一次生成的固定坐标值,所以海龟每次都会移动到同一个位置。
修复方案
将随机坐标的生成逻辑移动到randomspot()函数内部,这样每次调用函数时都会重新生成一组新的随机坐标,就能实现每次调用随机跳转的效果。
修复后的完整代码:
import turtle import random turt = turtle.Turtle() def randomspot(): # 每次调用时重新生成随机坐标 x = random.randint(-300, 300) y = random.randint(-300, 300) turt.penup() turt.goto(x, y) turt.pendown() # 测试:多次调用会跳转到不同随机位置 randomspot() randomspot() turtle.done()
如果你需要在函数外复用每次生成的坐标值,可以给函数增加返回值,将生成的x、y返回即可,不需要把随机生成逻辑放在全局作用域。
内容的提问来源于stack exchange,提问作者24bit
相关产品推荐
相关产品推荐

