-1
我正在創建一個程序,英雄在10秒內拯救兩名人質。他需要做的第一件事是決定先保存誰,然後輸入炸彈的代碼來營救人質,如果用戶鍵入人質的名字,他可以再次輸入。但是,當我輸入錯誤後,循環停止或我完成保存第一個人質後循環停止。'for'在raw_input後停止工作
這是代碼:
holly = True
molly = True
for i in range(0,11):
print "Who will you save?"
print "Time paste:", i
decide = raw_input("> ")
if decide == "Holly" and holly:
print "You decided to save Holly."
print "Whats the code?"
code = random.randint(100,1000)
print code
decide = int(raw_input("> "))
if decide != code:
exit('You are dead!')
print "You saved Holly!"
holly = False
elif decide == "Molly" and molly:
print "You decided to save Molly."
print "Whats the code?"
code = random.randint(100,1000)
print code
decide = int(raw_input("> "))
if decide != code:
exit('You are dead!')
print "You saved Molly!"
molly = False
elif not holly and not molly:
print "You saved both of them!"
break
else:
print "Try again!"
我做的這一切在一類,這裏是全碼:
class Mountains(object):
def enter(self):
print "After you defeated Josh. You headed towards the mountains."
print "There you're final target sits."
print "Jim the \"Knigh\""
print "He has 2 hostages. Holly and Molly, you have 10 seconds to save them."
print "They are bought straped to a bomb, each one in different location"
print "Each bomb has a 3 digit code."
holly = True
molly = True
for i in range(0,11):
print "Who will you save?"
print "Time remaining:", i
decide = raw_input("> ")
if decide == "Holly" and holly:
print "You decided to save Holly."
print "Whats the code?"
code = random.randint(100,1000)
print code
decide = int(raw_input("> "))
if decide != code:
exit('You are dead!')
print "You saved Holly!"
holly = False
elif decide == "Molly" and molly:
print "You decided to save Molly."
print "Whats the code?"
code = random.randint(100,1000)
print code
decide = int(raw_input("> "))
if decide != code:
exit('You are dead!')
print "You saved Molly!"
molly = False
elif not holly and not molly:
print "You saved both of them!"
break
else:
print "Try again!"
if holly and molly:
exit("You are dead!")
print "After you saved both, Jim comes in angry!"
print "He takes his shotgun! And startes firing!"
print "You take cover, and start to think where to shoot!"
print "You only have 4 bullets! Make it count!"
hero = 100
villain = 100
bullets = 4
direction = ["up", "down", "left", "right"]
while True:
print "In which direction do you shoot?"
print "Hero health:",hero
print "Villain health:",villain
print "Bullets left:", bullets
if hero < 0:
exit("You are dead.")
elif villain < 0:
exit("You win")
elif bullets == 0:
exit("You are dead.")
bullets -= 1
shoot = random.choice(direction)
print shoot
choice = raw_input("> ")
if choice == shoot:
print "You shoot %s, hitting Jim but he also hits you." % shoot
hero -= random.randint(20,30)
villain -= random.randint(30,50)
elif choice != shoot:
print "You shoot %s, but you missed. Jim didn't miss." % shoot
hero -= random.randint(10,20)
else:
print "Try again."
else:
print "Try again"
我無法重現該問題。代碼的確如此。 – JacobIRR
該代碼單獨運行良好。但是在課堂上並沒有。 –
如何使用類中的代碼?請[編輯]你的答案,並顯示該部分。 – martineau