2.6 KiB
2.6 KiB
Python 编程挑战-第一至第五名
原文:https://realpython.com/python-programming-contest-first-to-five/
我们与我们在面试蛋糕的朋友合作,为你带来一个测试你的逻辑技巧和能力的编程挑战。
**更新于 2015 年 10 月 16 日:**增加了额外的挑战——干杯!
挑战
- 有两个玩家。
- 每个玩家写一个数字,对其他玩家隐藏。它可以是 1 或更大的任何整数。
- 玩家透露他们的号码。
- 谁选择了较低的数字谁就得到 1 分,除非较低的数字只低 1 分,那么数字较高的玩家得到 2 分。
- 如果他们都选择了相同的号码,任何一方都得不到一分。
- 如此重复,当一个玩家得 5 分时,游戏结束。
挑战是写一个剧本来玩这个游戏。知道了规则和对手之前所有的数字,能不能编程出一个策略?(而且,no - return random.randint(1, 3)不是策略。)你真的应该试着先和你的朋友玩这个——你会发现预测对手的选择有很深的人类因素。
有可能制定一个强有力的战略吗?
想让策略更有趣一点吗?在挑战中增加一个额外的限制,让玩家每个数字只能使用一次。
奖品
需要一些动力吗?我们将为表现最佳的策略颁奖:
- 第一名: 3D 打印笔
- 第二名和第三名:带摄像头的遥控四轴飞行器
- 前 5 名提交者将获得一个免费的面试蛋糕账户以及一份免费的真实 Python 课程!
虽然挑战已经正式结束(结果)但你仍然可以参加!首先,看看你是否能击败当前的赢家,获得 20 美元的真蟒费。第二,用 Flask 创建一个 web 应用程序,它(a)使添加新策略变得容易,然后(b)针对所有其他策略运行一个给定的策略。
分级
评分很简单:我们将通过随机数生成器运行每个策略 100 次,作为第一个屏幕- return random.randrange(1, 10)。击败发电机的策略将会以循环赛的形式进行比赛,以决定最终的赢家。在提交之前,请务必在 game runner 中测试您的代码。
要提交您的脚本,只需通过电子邮件向我们发送一个秘密要点的链接-info(at)real python(dot)com。祝你好运!
本次比赛现已结束。感谢所有参与的人,祝小蟒快乐!*