python - 使用随机函数(Python 乌龟图形)
问题描述
我正在使用 Python 中的 turtle 模块,我想使用随机函数向左、向右、向前……我的代码是:
from turtle import *
from random import randint, choice
speed(0)
#Lists and variables
turtles = []
for i in range(20):
turtles.append(Turtle())
while 1:
for i in turtles:
print(choice([i.left(90),i.right(90),i.forward(100),i.backward(100)]))
我的问题是所有四个函数都被执行,就像我的代码是这样的:
...
while 1:
for i in turtles:
i.left(90)
i.right(90)
i.forward(100)
i.backward(100)
解决方案
问题是您要从所有方法调用的结果(全部返回None
)中进行选择,而不是选择一种方法然后调用它。而是尝试:
from turtle import Turtle
from random import choice
# Lists and variables
turtles = []
for _ in range(20):
tortoise = Turtle()
tortoise.speed('fastest')
turtles.append(tortoise)
while True:
for tortoise in turtles:
(choice([tortoise.left, tortoise.right, tortoise.forward, tortoise.backward]))(90)
推荐阅读
- c# - 如何在 WPF 用户控件中的整个 Grid LeftClick 上绑定命令
- node.js - Nodemailer 无法使用本地 smtp 服务器
- javascript - 如何禁用下个月和下个月以及如何禁用某些日子(灰色)?
- jolt - JOLT 转换合并对象数组
- elasticsearch - Kafka Elasticsearch 接收器连接器:连接错误
- scroll - 如何自动向下滚动到 sapUI5 中表格的最后一行?
- python - 如何从 Python 中的 x.509 证书中删除 CT 扩展?
- reactjs - 在 TextInput React Native 中输入文本时不应删除占位符文本
- bash - 将命令输出注册为 2 个单独的变量
- node.js - Mongoose find() 对异物不起作用