geekdoc-python-zh/docs/realpython/python-programming-contest-...

2.6 KiB
Raw Permalink Blame History

Python 编程挑战-第一至第五名

原文:https://realpython.com/python-programming-contest-first-to-five/

我们与我们在面试蛋糕的朋友合作,为你带来一个测试你的逻辑技巧和能力的编程挑战。

**更新于 2015 年 10 月 16 日:**增加了额外的挑战——干杯!

挑战

  1. 有两个玩家。
  2. 每个玩家写一个数字,对其他玩家隐藏。它可以是 1 或更大的任何整数。
  3. 玩家透露他们的号码。
  4. 谁选择了较低的数字谁就得到 1 分,除非较低的数字只低 1 分,那么数字较高的玩家得到 2 分。
  5. 如果他们都选择了相同的号码,任何一方都得不到一分。
  6. 如此重复,当一个玩家得 5 分时,游戏结束。

挑战是写一个剧本来玩这个游戏。知道了规则和对手之前所有的数字,能不能编程出一个策略?(而且no - return random.randint(1, 3)不是策略。)你真的应该试着先和你的朋友玩这个——你会发现预测对手的选择有很深的人类因素。

有可能制定一个强有力的战略吗?

想让策略更有趣一点吗?在挑战中增加一个额外的限制,让玩家每个数字只能使用一次。

Remove ads

奖品

需要一些动力吗?我们将为表现最佳的策略颁奖:

虽然挑战已经正式结束(结果)但你仍然可以参加!首先,看看你是否能击败当前的赢家,获得 20 美元的真蟒费。第二,用 Flask 创建一个 web 应用程序,它(a)使添加新策略变得容易,然后(b)针对所有其他策略运行一个给定的策略。

分级

评分很简单:我们将通过随机数生成器运行每个策略 100 次,作为第一个屏幕- return random.randrange(1, 10)。击败发电机的策略将会以循环赛的形式进行比赛,以决定最终的赢家。在提交之前,请务必在 game runner 中测试您的代码。

要提交您的脚本,只需通过电子邮件向我们发送一个秘密要点的链接-info(at)real python(dot)com。祝你好运!

本次比赛现已结束。感谢所有参与的人,祝小蟒快乐!*