无法像C#中那样确定条件表达式的类型

时间:2018-08-24 18:34:50

标签: c# c#-6.0

有人可以看看下面的代码,然后告诉我我在做什么错。我只是想根据某些条件返回一个值,但收到一条错误消息

combo_pairs = [ ['Eat at Joes', 'Eat my shorts'], ['Eat well', 'Eat mamas pies'] ]

def Jaccard_Sim(pair):
    """return Jaccard Similarity Index for similarity between two sentences"""
    chars0 = set(pair[0])
    chars1 = set(pair[1])
    ratio = float(len(chars0.intersection(chars1))) / \
                  len(chars0.union(chars1)) 
    print(chars0, chars1, ratio)
    return (ratio > 0.66)

sim_list = (Jaccard_Sim(pair) for pair in combo_pairs)

print(list(sim_list))

但是我的返回类型是可为null的int,因此它不应该同时允许null和int值。

{'s', 'E', 'o', 'e', 'J', ' ', 't', 'a'} {'s', 'E', 'y', 'r', 'o', ' ', 'h', 't', 'm', 'a'} 0.5
{'E', 'e', ' ', 'l', 't', 'a', 'w'} {'s', 'E', 'p', 'e', ' ', 'i', 't', 'm', 'a'} 0.45454545454545453
[False, False]

0 个答案:

没有答案