Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在同一个python程序中以不同的方式打印文本?_Python_Input_Text - Fatal编程技术网

如何在同一个python程序中以不同的方式打印文本?

如何在同一个python程序中以不同的方式打印文本?,python,input,text,Python,Input,Text,我正在制作一个基于文本的游戏,我的文本目前正在逐字打印,但对于游戏中的一个特定场景,我希望它一次全部显示出来 这是允许它逐字显示的代码部分 import time import sys import keyboard def print(s): for c in s: if keyboard.is_pressed("ctrl"): sys.stdout.write(c) sys.stdout.flu

我正在制作一个基于文本的游戏,我的文本目前正在逐字打印,但对于游戏中的一个特定场景,我希望它一次全部显示出来

这是允许它逐字显示的代码部分

import time 
import sys 
import keyboard 

def print(s):   
   for c in s:
       if keyboard.is_pressed("ctrl"):
           sys.stdout.write(c)
           sys.stdout.flush()
       else:
           sys.stdout.write(c)
           sys.stdout.flush()
           time.sleep(0.025)
它还允许用户在文本显示时按CTRL键,以立即显示其余文本,这样他们就不必等待

现在只要我用这种印刷品

print ("sample text")
input ("*KNOCK*")
文本逐字显示,除了这一部分外,对于大多数游戏来说都是不错的

    print ("sample text")

input("\n[Press enter to continue]\n")

    print ("*KNOCK*")
理想情况下,我希望敲门声立即出现

如果我使用这样的输入

print ("sample text")
input ("*KNOCK*")
文本确实会立即显示,但用户必须按enter键才能获取下一部分。 理想情况下,我只想让它自动转到下一个打印部分


我的最佳解决方案是什么?

不要将其称为
print
,因为这会覆盖内置的
print
功能。只要叫它别的东西,你就可以使用
print
即时显示东西。您可以将其命名为
print\u characters\u individually

修改print函数以使用第二个参数,例如x,如果x为真,则正常打印,否则逐字打印