Почему поток заканчивается без ожидания ввода? - PullRequest
1 голос
/ 05 октября 2019

"Как тебя зовут?"печатается пять раз, но я не могу заставить input () работать. Почему программа заканчивается без пяти пользовательских вводов? При использовании потоков - что можно сделать, чтобы получить 5 входов?

import threading

def user_input():
    print("Inside user_input")
    ui = input("What's your name? ")
    return ui

threads = []
for i in range(5):
    t = threading.Thread(target=user_input)
    threads.append(t)
    t.start()

1 Ответ

0 голосов
/ 05 октября 2019

Попробуйте меньше кода, как показано ниже. Это работает на Linux. Опубликованный код не работает на Windows, но работает на Linux.

КОД ВВОДА:

import threading

def user_input():
    input("What's your name? ")

threads = []
for i in range(5):
    t = threading.Thread(target=user_input)
    threads.append(t)
    t.start()

ВЫХОД:

Python 3.7.4 (default, Jul  9 2019, 00:06:43)
[GCC 6.3.0 20170516] on linux
What's your name? test
What's your name? test
What's your name? test
What's your name? test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...