python - Wrong output for given input -
here code:
#!/bin/python #gets id of player player = input() first_moves = [int(i) in raw_input().split()] second_moves = [int(i) in raw_input().split()] class calculate_bid(object): def __init__(self,player,first_moves,second_moves): self.mymove=[] self.yourmove=[] self.mycash=100 self.yourcash=100 self.pos=0 if player==1: self.mymove.extend(first_moves) self.yourmove.extend(second_moves) self.tie=true else: self.mymove.extend(second_moves) self.yourmove.extend(first_moves) self.tie=false self.x in range(len(self.mymove)): if self.mymove[self.x]>self.yourmove[self.x]: self.mycash-=self.mymove[self.x] self.pos+=1 elif self.mymove<self.yourmove[self.x]: self.yourcash-=self.yourmove[self.x] self.pos+=1 else: if self.tie==true: self.mycash-=self.mymove[self.x] self.pos+=1 self.tie=false else: self.yourcash-=self.yourmove[self.x] self.pos-=1 self.tie=true print self.mycash,self.yourcash why, if give input
2 4 15 8 8 does print
92,-15 ?
note: don't think happens on computer only. same occurs when run 1 in hackerrank.
note: yourcash becomes 0 when second number (15 8) passes elif statement. before time, still 100. debugged before coming here.
note: tried this , this no luck.
update
this input:
2 4 15 7 8 8 6 produces output:
92, -14 i expected:
92, 79
i have no idea code supposed do, presumably want subtract moves cash. that's inside loop in if , elif clause, , inside if section of else clause. then, in else / else section, set cash negative moves:
self.yourcash=-self.yourmove[self.x] while wanted write
self.yourcash -= self.yourmove[self.x]
Comments
Post a Comment