Crawl делает входной релиз "None" | Python - PullRequest
1 голос
/ 20 марта 2020

Так что я точно знаю, что, сказав это:

x = input(print('hello what is ur name uwu:')

выдаст:

hello what is ur name uwu:None

Но вот мой код:

import sys
import time
from colorama import Fore

def crawl(text,ti):
  for char in text:
    sys.stdout.write(char)
    sys.stdout.flush()
    time.sleep(ti)

input(crawl(Fore.RED + 'Well, hello there my dear player!',0.1))

и, как и ожидалось ... выдает:

Well, hello there my dear player!None

Я пытался сделать это:

crawl(input(Fore.RED + 'Well, hello there my dear player!'),0.1)

и он производит правильно, но есть одна проблема ... он производит это мгновенно, и моя функция сканирования должна перетаскивать его по буквам. Пожалуйста, помогите.

1 Ответ

1 голос
/ 20 марта 2020

встроенная функция input будет печатать аргументы, если они заданы.

Строка приглашения, если она задана, выводится на стандартный вывод без завершающей строки перед чтением ввода.

Таким образом, вы не должны давать аргументы input.
Вы можете просто разделить вызовы crawl и input.

Примечание: я удалил зависимость colorama, так как она не имеет отношения к вашему вопросу.

import sys
import time


def crawl(text, ti):
    for char in text:
        sys.stdout.write(char)
        sys.stdout.flush()
        time.sleep(ti)


crawl('Well, hello there my dear player!', 0.1)
x = input()
print(x)

вывод:

Well, hello there my dear player!5
5

5 был мой ввод STD.

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