2013-04-14 1 views
1

Ok поэтому я изменил его:Python- не raw_input работает

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

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

Но теперь я не получаю выбор это заставляет меня выбрать, а затем после того, что она заставляет меня выбирать б, когда я пройдите мимо этого препятствия. У меня есть остальная часть игры в сумке, но мне действительно нужна помощь, чтобы понять это. PS Я нуб в 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") 
+1

Если ваша версия python равна 3.x, используйте 'input()'. http://www.python.org/dev/peps/pep-3111/ –

+0

Возможный дубликат [Как использовать raw \ _input в Python 3.1] (http://stackoverflow.com/questions/954834/how-do -i-use-raw-input-in-python-3-1) –

+0

Его не дубликат, который даже не отображается под связанными ... – user2278741

ответ

3

Если вы используете новые версии python - 3.x.x - тогда raw_input больше не существует. Вместо этого используйте ввод (приглашение). Он работает почти так же. Основной синтаксис:

foo = input("some prompt"). 

Какой вклад делает он читает строку из стандартного входного файла или <stdin>. Он печатает приглашение в пределах (), а затем ждет ввода пользователя. Пример: (>>> является командной строки, <<< выводится

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 

Ответ на ваши изменения:

Используйте это:

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 
1

Re ваш новый вопрос:

Но теперь у меня нет выбора, который заставляет меня выбрать а, а затем после этого он меня выбирает b

Это потому, что вы звоните input() дважды, и каждый раз, когда вы называют это, вам будет предложено ввести что-то. Вы хотите называть его как только, сохраните значение, которое вы получаете в переменной, и сравните эту переменную с возможными вариантами.

+0

ummm ........... – user2278741

+1

Что вы читаете, чтобы узнать Python? он должен надеяться, что теперь объяснил переменные ... – Eevee

+0

Когда вы вызываете функцию 'input', вы говорите python, что вы хотите, чтобы пользователь сделал ввод. Если вы дважды вызываете 'input', python будет думать, что вам нужны два входа. –

 Смежные вопросы

  • Нет связанных вопросов^_^