Python- raw_input not working

user2278741 picture user2278741 · Apr 14, 2013 · Viewed 25.3k times · Source

Ok so I changed it to:

if input('a'):
      print ("You: Gimme a gun!")

if input('b'):
       print ("You: Fine")

But now I don't get a choice it forces me to choose a and then after that it forces me to choose b, once I get past this hurdle I have the rest of the game in the bag but I really need help to figure this out P.S. I am noob to python

import time
Gimme=True
Fine=True




print ("James: Ah, it looks like subject 091-266 is awake")
time.sleep(4)
print ("Scarlet: Hello, do you remember anything? The crash or anything?")
time.sleep(4)
print ("You: What.... Where am I?")
time.sleep(3)
print ("Scarlet: Oh, where are my manners, this is the head quarters of the XionRepublic, Xion")                        
time.sleep(5)
print ("James: You were involved in Z-9102, code named Attack-Z")
time.sleep(4)
print ("Scarlet: We were able to pull you and three others out before we  were forced to...")                                             
print ("James: Exterminate Alpha Base 12.")
time.sleep(6)
print ("You: Exterminate?! Couldn't you just quarantine it?")
time.sleep(4)
print ("Scarlet: No, Alpha Base 12 had over 3,000 people in it, it was to risky to quarantine")      
time.sleep(5)
print ("James: Do you recognize these names, Noah, Alex or Robert?")
time.sleep(4)
print ("You: Yes Alex!? Why? Is he ok?!")
time.sleep(3)
print ("James: Yes, Yes he was one of the three.")
time.sleep(4)
print ("*ALARM! SECURITY BREACHED, SECURITY BREACHED*")
time.sleep(4)
print ("James: Scarlet lock the door!")
time.sleep(3)
print ("You: Whats going on?!")
time.sleep(3)
print ("James: Z's there here.")
time.sleep(3)
print ("*Screaming*")
time.sleep(2)
print ("You: I can fight!")
time.sleep(3)
print ("Scarlet: Trust me you are not in any condition to fight due to some of the drugs in you")   
print ("CHOICE")
print ("A.Gimme the gun!")
print ("B.Fine")

if raw_input() == Gimme:
    print ("You: Gimme a gun!")
if raw_input() == Fine:
    print ("You: Fine")

Answer

elder4222 picture elder4222 · Apr 14, 2013

If you are using the new versions of python -- 3.x.x -- then raw_input no longer exists. Use input(prompt) instead. It works pretty much the same. basic Syntax:

foo = input("some prompt"). 

What input does is it reads a line from the standard input file, or <stdin>. It prints the prompt within the () and then waits for user input. Example: (>>> is the command line prompt, <<< is output

Command Line, interactive mode (or IDLE): 
>>> foo = input("GIMME SOME INPUT: ")  #tell it to take some input
<<<GIMME SOME INPUT: foo          # it prints out, "GIMME SOME INPUT:" user types in foo
>>> print(foo)
<<< foo

Response to your edit:

Use this:

print ("CHOICE")
print ("A.Gimme the gun!")
print ("B.Fine")
choice = input("What do you choose?")
if choice == 'A' or choice == 'a':
    #Some Action 
if choice == 'B' or choice == 'b': 
    #Some Other Action