Python 2.7 &引用;“样本大于总体”;错误并绕过相同的列表项
我正在尝试创建一个交互式的秘密圣诞老人选取器,但是每当代码在没有随机选择的名字相同的情况下通过时,我就会得到一个错误,说“样本大于总体”。我该如何解决这个问题?同样,当我得到相同的名字时,我希望循环重新开始。我该怎么做 这是我到目前为止所拥有的Python 2.7 &引用;“样本大于总体”;错误并绕过相同的列表项,python-2.7,if-statement,error-handling,while-loop,restart,Python 2.7,If Statement,Error Handling,While Loop,Restart,我正在尝试创建一个交互式的秘密圣诞老人选取器,但是每当代码在没有随机选择的名字相同的情况下通过时,我就会得到一个错误,说“样本大于总体”。我该如何解决这个问题?同样,当我得到相同的名字时,我希望循环重新开始。我该怎么做 这是我到目前为止所拥有的 import random def SecretSantaW(): print '' print 'Welcome to the Secret Santa Picker!' nump = raw_input('How many
import random
def SecretSantaW():
print ''
print 'Welcome to the Secret Santa Picker!'
nump = raw_input('How many people will be participating? ')
nump = int(nump)
groupG = []
groupR = []
while len(groupG) < nump:
name = raw_input('Name? ')
groupG.append(name)
groupR.append(name)
gsize = len(groupG)
print ''
while gsize > 0:
rpplG = random.sample(groupG, 1) #selects 1 entry from giver list
rpplR = random.sample(groupR, 1) #selects 1 entry from receiver list
if rpplG[0] != rpplR[0]:
print rpplG[0] + ', your are ' + rpplR[0] + '\'s Secret Santa!'
if rpplG[0] in groupG:
groupG.remove(rpplG[0])
print groupG
if rpplR[0] in groupR:
groupR.remove(rpplR[0])
print groupR
else:
pass
restart = True
while restart:
SecretSantaW()
print ''
restart = raw_input('Would you like play again? [yes/no] ') == 'yes'
print ''
print 'Merry Christmas!'
随机导入
def SecretSantaW():
打印“
打印“欢迎来到秘密圣诞老人采摘者!”
nump=原始输入(“有多少人将参与?”)
nump=int(nump)
groupG=[]
groupR=[]
而len(groupG)0时:
rpplG=random.sample(groupG,1)#从给定者列表中选择1个条目
rpplR=random.sample(groupR,1)#从接收者列表中选择1个条目
如果rpplG[0]!=rpplR[0]:
打印rpplG[0]+',您的是“+rpplR[0]+\'的秘密圣诞老人!”
如果组中的rpplG[0]:
groupG.remove(rpplG[0])
打印组
如果组中的rpplR[0]:
groupR.remove(rpplR[0])
打印组
其他:
通过
重新启动=真
重新启动时:
秘密警察()
打印“
重新启动=原始输入('您想再次播放吗?[是/否])=='是'
打印“
打印“圣诞快乐!”
另外,请记住,我是python的初学者