python скрипт завершается досрочно при удерживании клавиши Enter на терминале в VS Code - PullRequest
0 голосов
/ 21 февраля 2020

Вот мой код:

import random

def gen():
    nums = list(range(10))

    while nums:
        num = random.choice(nums)
        nums.remove(num) 
        print(f'Nums left: {len(nums)}.')
        yield num

def main():
    for num in gen():
        print(num)
        if input('Enter for next num or q to quit: ') == 'q':
            print('Goodbye!')
            break
    else:
        print('All out of nums.')

    print('exited')

main()

Если я нажимаю клавишу ВВОДА вверх и вверх, чтобы получить следующую итерацию, она работает как положено. Но если я удерживаю клавишу Enter, программа заканчивается до того, как nums станет пустым. Это не ошибка, и это не печатает "Все из чисел". или "вышел". Это просто заканчивается чем-то вроде:

Enter for next num or q to quit:
Nums left: 2.
4

Кто-нибудь знает, что происходит? Я на Windows с Python 3.8.

Это происходит только тогда, когда я в терминале VS Code с PowerShell. Если я запускаю его в терминале за пределами кода VS, он работает как положено. Он также работает, как ожидается, используя CMD в VS Code.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...