<b>Python 2.7 <s>334</s> <s>335</s> 327 Characters</b> (My first time golfing) (335) Forgot to escape newline. (327) Removed redundant 100 for randint. Comparison of first character of response, instead of whole string. from random import* i=input s="Enter number:" p=i("Player 1/2:")-1 h=100 exec("N=i(s)","N=randint(1,h)")[p] b=l=0 for _ in[0]*5: exec("g=(h+l)/2;r=raw_input('Guessing '+`g`+':');exec(('h=g','l=g')[r[0]=='l'],'break')[r[0]=='c']","g=i(s);b=g==N;print(('higher','lower')[N<g],'correct\\n2 won')[b]")[p] if b:exit() print"1 won"