当前位置: 首页 > 知识库问答 >
问题:

圣诞老人分类帽

端木兴国
2023-03-14

我正在做一个程序,它将模拟秘密圣诞老人的分类帽。我试图让程序有一个错误陷阱,以防止人们获得自己的名字,但我无法让程序在有人获得自己的名字时选择一个新的名字。我遇到的另一个问题是,程序一直过早退出。

这是我的代码

import random
print "Testing Arrays"
Names=[0,1,2,3,4]
#0 - Travis 
#1 - Eric 
#2 - Bob 
#3 - Tim 
#4 - Dhyan
x = 1
z = True
def pick(x):
    while (z == True):
        #test=input("Is your Name Travis?")
        choice = random.choice(Names) #Picks a random choice from Names Array
        if (choice == 0): #If it's Travis
            test=input("Is your Name Travis?") #Asking user if they're Rabbit
            if(test == "Yes"):
                return "Pick Again"
            elif(test== "No"):
                return "You got Travis"
                Names.remove(1)
                break
        elif (choice == 1):
            test=input("Is your Name Eric?")
            if(test=="Yes"):
                return "Pick Again"
            elif(test=="No"):
                Names.remove(2)
                return "You got Eric"
                break

print pick(1)

共有2个答案

殷宾白
2023-03-14

首先询问用户名,然后使用while循环在random name等于input name时继续获取随机名称。

於宏大
2023-03-14

虽然这可能不是您想要组织计划的确切方式,但本示例提供了一种防止个人向自己赠送礼物的方法。它使用类似于其他一些语言中可用的do/while循环的东西来确保目标通过要求。

#! /usr/bin/env python3
import random


def main():
    names = 'Travis', 'Eric', 'Bob', 'Rose', 'Jessica', 'Anabel'
    while True:
        targets = random.sample(names, len(names))
        if not any(a == b for a, b in zip(targets, names)):
            break
    # If Python supported do/while loops, you might have written this:
    # do:
    #     targets = random.sample(names, len(names)
    # while any(a == b for a, b in zip(targets, names))
    for source, target in zip(names, targets):
        print('{} will give to {}.'.format(source, target))


if __name__ == '__main__':
    main()
 类似资料:
  • 我们被要求创建一个程序,可以用于游戏"秘密圣诞老人": 这是我开发的程序。到目前为止,如果我输入3个人(例如Bob、Ben、Bill),它将返回“Ben为Bill购买”,而没有人为Ben或Bob购买。我目前正试图让它输出“Bob为Ben买东西,Ben为Bill买东西,Bill为Bob买东西”,但到目前为止还没有成功。如果有人能给我一个提示/设置这个的基础,我将不胜感激。另外,如果我的代码中有任何错

  • 我想用js制作一个小脚本,有一个用户列表,一个用户必须向另一个用户赠送礼物。 通过应用以下约束: > 如果“a”是圣诞老人,给“c”送礼物,那就不能反过来了。所以“c”不可能是“a”的圣诞老人。 它必须同时处理偶数和奇数用户。 在你看来,什么是正确的方法来尽量减少比较的数量,也就是说,加快脚本的速度。 我本来想这样开始,但后来我不知道该怎么做:

  • 我决定制作一个程序,根据硬编码限制(例如,某人不能得到他的妻子)生成秘密圣诞老人配对。我的家人都很忙,所以很难组织每个人随机画帽子。 我的程序崩溃seldomly,因为不幸的随机配对使剩余的不合法(然而,我抓住他们在测试脚本部分)。把它想象成一个重新绘制的人。 然而,当我的程序成功时,我知道配对是正确的,而不必亲自查看它们,因为我的程序测试有效性。明天,我将不得不找到一种方法,使用配对从我的电子邮

  • 本文向大家介绍java 实现简单圣诞树的示例代码(圣诞节快乐),包括了java 实现简单圣诞树的示例代码(圣诞节快乐)的使用技巧和注意事项,需要的朋友参考一下 代码如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 1)能不能帮我用蝴蝶结扎一下辫子呀?我想成为你的圣诞节礼物诶✨ 2)我是铃儿你是叮当~因为铃儿想叮当✨ 3)在等雪花圣诞树新年烟火和更好的我们✨ 4)世界上哪有圣诞老人,礼物都是来自爱你的人✨ 5)希望到圣诞节那天你能和我说Merry Christmas还有Merry me✨

  • 问题内容: 我正在尝试使用for循环和嵌套for循环制作圣诞树。为了做到这一点,我需要能够用*做一个金字塔。我已经尝试了无数次,但在制作时遇到了问题。这是我的代码: 我想做的是: 问题答案: 试试这个简单得多的代码: 它使用3个循环: 第一个表示行数, 第二个用于打印空间, 第三个用于打印星号。