我的代码:globalindexsindexs={}defreadindex():globalindexsmdict=[]foriinrange(1,101):line=raw_input()words=line.split('')forwordinwords:ifwordinindexs:indexs[word].add(i)...
我的代码:
global indexs
indexs = {}
def readindex():
global indexs
mdict = []
for i in range( 1, 101 ):
line = raw_input()
words = line.split( ' ' )
for word in words:
if word in indexs:
indexs[word].add( i )
else:
indexs[word] = set( [i] )
mdict.append( word )
mdict.sort();
for word in mdict:
line = ""
print word + ":",
lst = indexs[word]
for num in lst:
line += str( num ) + ", "
print line[:len( line ) - 2]
def query( s ):
global indexs
flag = 0
if s.startswith( "AND:" ):
flag = 0
s = s[4:]
elif s.startswith( "OR:" ):
flag = 1
s = s[3:]
lst = []
words = s.split( ' ' )
for word in words:
if word in indexs:
lst.append( indexs[word] )
else:
lst.append( set() )
mset = set()
if len( lst ) != 0:
mset = lst[0]
if flag == 0:
for item in lst:
mset = mset & item
else:
for item in lst:
mset = mset | item
line = ""
if len( mset ) == 0:
print "None"
else:
for item in mset:
line += str( item ) + ", "
print line[:len( line ) - 2]
readindex()
while True:
s = raw_input()
if s == "":
break;
query( s )
感谢各位的帮助~
展开