2016-03-02 6 views
1

Я хотел бы получить ввод данных во время печати на экране. Я много исследовал это. но ничего не нашел. Я не очень продвинутый с программированием классов в Python, поэтому я не понял других примеров в stackoverflow.Получите ввод пользователя во время печати на экран

Пример:

import time 

def user_input(): 
    while True: 
     raw_input("say smth: ") 

def output(): 
    while True: 
     time.sleep(3) 
     print "hi" 

input() 
output() 

Я хочу приглашение остаться, даже если выход печати «привет». Я уже пробовал пример, но приглашение ввода исчезает, даже если оно находится в цикле while.

ответ

1

Во-первых, давайте рассмотрим код

import time 

def user_input(): 
    while True: 
     raw_input("say smth: ") 

def output(): 
    while True: 
     time.sleep(3) 
     print "hi" 

input() 
output() 

Вы вызываете input() что на самом деле не ваше имя функции. Это user_input(). Также, как только вызывается user_input(), output() никогда не будет вызываться, потому что условие while True в user_input() всегда верно, то есть оно никогда не выходит за пределы функции.

Кроме того, если вы хотите что-то сделать с помощью многопоточности, но вы не понимаете классы на Python, вероятно, вам следует сделать учебник, относящийся к классам.

Посмотрите на эту другую StackOverflow Post на многопоточную программу.

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