python - 如何让python每(x)秒执行一次函数?
问题描述
我正在学习 python,并且正在尝试制作(多么原创)一个疾病模型,其中绿球反弹,如果红球碰到它们,它们就会被红色感染。我试图让它每隔 x 秒,每个受感染的红球都有可能死亡并变黑,但我不知道该怎么做。我曾尝试使用 pygame 的时钟,但无法弄清楚。
这是模具功能
def die(particle_list):
for i in particle_list:
if (i.colour == red) and random.choice([1,1,1,1,1,1,1,1,1,1,1,1,1,1,0])==0:
i.colour = black
解决方案
使用time.sleep
方法。它将在给定的秒数内阻止程序执行。
我还想指出,最好对这样的概率使用随机数。在您的示例中,您的粒子有 15 分之一的机会死亡,因此您希望生成一个从 0 到 1 的随机数,并且该数字低于 0.066666667(1 / 15),粒子将死亡。
这个例子会做你想做的事:
import random
def die(particle_list, death_rate):
for particle in particle_list:
if random.random() <= death_rate:
particle.color = black
推荐阅读
- css - CSS 联系表格 7 间距
- python - Keras Sequential 模型中的最大安全批量大小
- json - 使用 Firebase 实时数据库填充 tableview
- python - 编辑 Seaborn 散点图和计数图的图例标题
- apache-spark - Spark SPEL 表达式 UDF
- visual-studio - 如何自动发布 .NET Web 应用程序
- redis - 了解您为什么要在未来处理消息队列
- dialogflow-es - DialogFlow 的 Webhook 和 javascript,我在哪里可以找到文档?
- django - 将文件从 Docker 容器上传到 Google Cloud Storage
- colors - 如何使用 Applescript(或命令行)获取加载的显示器颜色配置文件?