0
我的程序很简单,你输入你的名字,你选择你想要输入的名字的数量,并打印出所有的组合......我唯一的问题是无法添加if语句以产生这几行代码,因此用户将无法输入重复的名称或在名称中使用任何数字。我已经尝试了几件事情,但我不记得确切的代码有没有可能有一个if/else语句与排列
names = []
for i in range(n):names.append(raw_input("Enter name "+str(i+1)+": "))
count = 0
def perm(a,k=0):
global count
if(k==len(a)):
print a
count += 1
else:
for i in xrange(k,len(a)):
a[k],a[i] = a[i],a[k]
perm(a, k+1)
a[k],a[i] = a[i],a[k]
我完整的代码可以发现here,如果你想将其粘贴并运行它,它有点乐趣。换句话说,如果有人可以帮助我只是在哪里或如何achomplish这个if/else语句的事实,围绕
(raw_input("Enter name "+str(i+1)+": "))
行代码。谢谢大家提前
“if validate_name(names,name):”一直告诉我它的未定义,我不知道该怎么办,我是否向上移动def? @ThmeiEsi –
是的,对不起。我应该想到这一点。 –
搞乱了一下它只打印“输入名字一个”名字后一直输入无尽 –