python - 测量海龟之间的距离
问题描述
我正在用 Python 进行海龟比赛,我们应该重新发明基本代码。我的想法是创建一个领奖台并放置 3 个第一名获胜者。我设法将第一个获胜者放在了领奖台上,但现在我不知道如何测量海龟之间的距离,并找出谁在第二和第三位。有任何想法吗?这是最终的输出: 游戏结束
while True:
turtle_winner = choice([maria, jaquina, toino, celeste, tia])
turtle_winner.forward(randint(1, 5))
if turtle_winner.xcor() > 70:
break
turtle_winner.shapesize(3)
screen.ontimer(winner_podium, 250)
解决方案
这是您如何执行此操作的最小示例。我创建了一些随机位置的海龟作为演示。请注意,我已经给了海龟名称属性,否则您的排名将只是对象本身的名称,这不是很可读。重要的部分是如何在xcor
倒数第二行按属性对海龟列表进行排序。
from random import random
class Turtle:
def __init__(self, name):
self.xcor = random()
self.name = name
a = Turtle('a')
b = Turtle('b')
c = Turtle('c')
d = Turtle('d')
e = Turtle('e')
turtles = [a,b,c,d,e]
final_standings = [t.name for t in sorted(turtles, key=lambda turtle: turtle.xcor)]
print(final_standings)
输出:
['d', 'c', 'b', 'e', 'a']
希望这能让你开始。
推荐阅读
- java - 如何读取位于 java 项目的另一个包中的属性文件?
- date - 如何在 C++Builder 中比较两个日期。1 个来自 MaskEdit 的日期,2 个来自 Date() 的日期
- amazon-web-services - 我在哪里可以获得 aws get-current-user 的身份验证令牌?
- android - 如何在我的旧 Android 项目中添加生物识别支持 API (AndroidX)
- android - 如何在 FAB 中为可绘制的矢量着色?(android:tint 似乎不起作用)
- r - 用于绘制 allEffects 的反向转换响应
- javascript - 在 React 组件中渲染之前操作数据
- c# - 复制集合索引 c# mongo
- javascript - 从 childSnapshot.key 接收 null
- java - 更改 IBM 自由服务器日志的权限