我们被要求创建一个程序,可以用于游戏"秘密圣诞老人":
from random import *
people=[]
while True:
person=input("Enter a person participating.(end to exit):\n")
if person=="end": break
people.append(person)
shuffle(people)
for i in range(len(people)//2):
print(people[0],"buys for",people[1])
这是我开发的程序。到目前为止,如果我输入3个人(例如Bob、Ben、Bill),它将返回“Ben为Bill购买”,而没有人为Ben或Bob购买。我目前正试图让它输出“Bob为Ben买东西,Ben为Bill买东西,Bill为Bob买东西”,但到目前为止还没有成功。如果有人能给我一个提示/设置这个的基础,我将不胜感激。另外,如果我的代码中有任何错误不允许我完成这项工作,你能告诉我吗?谢谢
假设你有三个人:['Bob','Ben','Bill']。
In [1]: people = ['Bob', 'Ben', 'Bill']
现在,当你得到这个列表的长度时,你正在做地板除以2。这导致:
In [2]: len(people) // 2
Out[2]: 1
这就是为什么你只能得到一行输出。
你怎样才能得到你想要的秘密圣诞老人?以下是一些实现此功能的简单方法提示:
您正在为0和1编制索引,因此打印的始终是第一个人和第二个人。你真正想要的是:
shuffle(people)
offset = [people[-1]] + people[:-1]
for santa, receiver in zip(people, offset):
print(santa, "buys for", receiver)
第一个提示是,在for
循环中使用0和1之类的常量而不是i
是没有意义的。
for i in range(len(people)):
print(people[i],"buys for",people[(i+1)%(len(people))])
然而,这个实现不会给你秘密圣诞老人提供的所有可能性。
假设您输入“Alice”、“Bob”、“Claire”、“David”,您将永远不会遇到以下情况:
您将只得到循环排列,即:
诸如此类。
你需要做一些额外的工作来制作一个完美的秘密圣诞老人:)
我想用js制作一个小脚本,有一个用户列表,一个用户必须向另一个用户赠送礼物。 通过应用以下约束: > 如果“a”是圣诞老人,给“c”送礼物,那就不能反过来了。所以“c”不可能是“a”的圣诞老人。 它必须同时处理偶数和奇数用户。 在你看来,什么是正确的方法来尽量减少比较的数量,也就是说,加快脚本的速度。 我本来想这样开始,但后来我不知道该怎么做:
我决定制作一个程序,根据硬编码限制(例如,某人不能得到他的妻子)生成秘密圣诞老人配对。我的家人都很忙,所以很难组织每个人随机画帽子。 我的程序崩溃seldomly,因为不幸的随机配对使剩余的不合法(然而,我抓住他们在测试脚本部分)。把它想象成一个重新绘制的人。 然而,当我的程序成功时,我知道配对是正确的,而不必亲自查看它们,因为我的程序测试有效性。明天,我将不得不找到一种方法,使用配对从我的电子邮
我正在做一个程序,它将模拟秘密圣诞老人的分类帽。我试图让程序有一个错误陷阱,以防止人们获得自己的名字,但我无法让程序在有人获得自己的名字时选择一个新的名字。我遇到的另一个问题是,程序一直过早退出。 这是我的代码:
我想做一个秘密圣诞老人节目。理想情况下,程序应该要求至少三个名字,然后程序会询问是否有更多的名字。如果是,打开另一个文本字段并将其添加到名称列表中。如果没有,打破循环,创建一个单独的列表,其中包含名称,打乱第二个名称列表,并将它们与原始列表中的名称配对。 例如,如果John、Elliot、Sarah和Jenny输入了他们的名字,程序将他们的名字打乱,它应该输出这样的内容: 但我得到的是: 代码如下
本文向大家介绍java 实现简单圣诞树的示例代码(圣诞节快乐),包括了java 实现简单圣诞树的示例代码(圣诞节快乐)的使用技巧和注意事项,需要的朋友参考一下 代码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍C语言设计一个闪闪的圣诞树,包括了C语言设计一个闪闪的圣诞树的使用技巧和注意事项,需要的朋友参考一下 控制台打印一个圣诞树:简简单单的C语言知识,真的很基础,小白也能看得懂哦 最终的效果图 也没有那么高大上的啦,就很简单的,效果的话是动态的,可以闪动的呢。 如果大家看以上代码不过瘾,大家可以参考下这篇文章。 使用C语言编写圣诞表白程序 以上所述是小编给大家介绍的C语言设计一个闪闪的圣