01
Мар
2018

Выход из бесконечного цикла while True по вводу значения с клавиатуры

Добрый день, что то никак не могу нагуглить, помогите пожалуйста. Осваиваю Python 3, стоит задача в бесконечном цикле:

while a=1:
    print('Something')

который можно прервать вводом значения a:

a = input('Enter a')

Как это правильно сделать? В голову пришло разделить это с помощью multiprocessing на два отдельных потока , но на функции с a=input() код выпадает в ошибку. Или я не туда пошел? Спасибо

UPD. для понятности выкладываю упрощенный код.

...
class AB:
    def __call__(self):
        while a = 1:
            print('Hello')

class CD:
    def __call__(self):
        a = input('Enter a=')

if __name__ == __main__:
    a = AB()
    b = CD()
    p1 = Process(target = a)
    p2 = Process(target = b)
    p1.start()
    p2.start()
    p1.join()
    p2.join()

Этот код потоки запускает, цикл работает а на input() ошибка:

input('Enter a=')
EOFError:EOF when reading line

Источник: https://ru.stackoverflow.com/questions/791938/%D0%92%D1%8B%D1%85%D0%BE%D0%B4-%D0%B8%D0%B7-%D0%B1%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%D0%B3%D0%BE-%D1%86%D0%B8%D0%BA%D0%BB%D0%B0-while-true-%D0%BF%D0%BE-%D0%B2%D0%B2%D0%BE%D0%B4%D1%83-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81-%D0%BA%D0%BB%D0%B0%D0%B2%D0%B8%D0%B0%D1%82%D1%83%D1%80%D1%8B

Тебе может это понравится...

Добавить комментарий