我的程序很简单,你输入你的名字,你选择想要输入的所需数量的名字,它打印出所有组合...我唯一的问题是无法添加一个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)+": "))
代码行。谢谢大家提前
答案 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