2013-12-24 2 views
0

У меня проблема, когда я хочу, чтобы пользователь мог вводить текст для вызова функций. Он отлично работает, за исключением одного. :/Когда что-то было введено, ничего не может быть сделано впоследствии. Единственный способ решить эту проблему - запустить программу еще раз, что не удобно. Я потратил много времени на поиск ответа и помощь. Я также думаю, что другие любители, подобные мне, тоже могут это задаться. Пример кода:Может только вводить одну вещь в Python

x = raw_input('test1') 

if x == 'x': 
    print 'test2' 

Результат:

test1x 

test2 

x 

'x' 

Как вы можете видеть это работает один раз, то перестает работать. Для записи я использую Python 2. Надеюсь, это можно решить :)

+0

Вы должны написать этот код в ** цикл **. – karlphillip

+0

Этот вопрос касается общих основ программирования; этот сайт предназначен для решения проблем, а не для обучения основам. –

ответ

2

Вам нужно использовать цикл, если вы хотите, чтобы программа продолжала работать. Вот простой пример:

while True: 
    n = raw_input("Please enter 'hello':") 
    if n.strip() == 'hello': 
     break 

Программа будет продолжать работать до тех пор, пока тип привет

0

Вы можете использовать следующую функцию

def call(): 
    input = raw_input('input: ') 
    if input == 'yes': 
     print 'yes' 
    call() 

call() 
+0

Не стоит реализовывать рекурсию – WKPlus

0
last_data = '' 
while last_data != 'yes': 
    input = raw_input('ENTER SOMETHING: ') 
    #do whatever you want with input 

    last_data = raw_input('DO YOU WANT TO QUIT? (yes/no): ') 
Смежные вопросы