checkio What Is Wrong With This Family?

题目:
You have a list of family ties between father and son. Each element on this list has two elements. The first is the father’s name, the second is the son’s name. All names in the family are unique. Check if the family tree is correct. There are no strangers in the family tree. All connections in the family are natural.
链接:
https://py.checkio.org/en/mission/wrong-family/
代码:

def is_family(tree):
    a = tree
    a0 = []
    a1 = []
    c = []
    r = True
    for i in a:
        a0.append(i[0])
    	a1.append(i[1])
        if len(a) > 1:
    		for j in a:
    			if j[1] == i[0] and j[0] == i[1]:
    				r = False
    b0 = list(set(a0))
    b1 = list(set(a1))
    if len(b1) != len(a1): #有人重复当了两个人的儿子
    	r = False    
    for i in b0:
    	if i not in b1:
    		c.append(i)   #找出来数的顶端
    if len(c) != 1:      #如果树的顶端不只一个,是不对的
    	r = False
    elif c[0] in b1:    #如果数的顶端又在数的分支是不对的
    	r = False
    return r
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值