是否可以使用排列的if / else语句

时间:2016-12-08 05:10:23

标签: python if-statement permutation

我的程序很简单,你输入你的名字,你选择想要输入的所需数量的名字,它打印出所有组合...我唯一的问题是无法添加一个if语句代码,以便用户无法输入重复的名称或使用名称中的任何数字。我尝试了几件事,但我不记得确切的代码

    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我的整个代码,如果你想粘贴并运行它,那就很有趣。换句话说,如果有人可以帮助我,只是为了在何处或如何完成这个if / else语句,围绕

(raw_input("Enter name "+str(i+1)+": "))

代码行。谢谢大家提前

1 个答案:

答案 0 :(得分:0)

names = []

while len(names) < n:
    name = raw_input("Enter name "+str(len(names)+1)+": ")
    if validate_name(names, name):
        names.append(name)

def validate_name(names, name):
    return re.match("^[Sa-zA-Z]*$", name) and not name in names