import re
def circlejudge(string):
if string[0]=='{' and string[-1]=='}':
ls=string[1:-1].split(',')
print(ls)
k=0
for s in ls:
pat=re.compile('\([A-Z]->[A-Z]\)')
result = re.findall(pat,s)
if len(result)!=0:
print(result)
k=k+1
if k==len(ls):
dic={}
pat=re.compile('[A-Z]+')
result=re.findall(pat,string)
for i in result:
if i not in dic:
dic.setdefault(i,0)
dic[i]=dic[i]+1
else:
dic[i]=dic[i]+1
i=0
for c, ctn in dic.items():
if ctn%2==0:
i=i+1
if len(dic)==i:
return 1
else:
return 0
else:
return -1
return -1
circlejudge("{(A->B),(B->C),(C->A)}")
使用正则表达式匹配格式,如果格式不正确返回 -1,格式正确不存在回路返回0,存在回路返回1.