我正在尝试制作一款基于文本的冒险游戏。 我是 Python 的新手 我试图像旧游戏中那样延迟文本。
from time import sleep
import sys
def de(string):
for c in string:
print(c, end='')
sys.stdout.flush()
sleep(0.1)
在整个代码中,执行以下操作:
print(de("nPlayer health: "), player_health,)
或
user_fighter = input(de("what is the name of your fighter?"))
输出始终以"无"结尾
例如Player health: None 100
我该如何解决这个问题?
您的de
函数不返回任何内容,因此返回值为None
。 此外,函数中已经有一个print
可以执行您尝试执行的操作。 因此,您可以直接调用de
函数,而不是在print
中调用它。
法典
from time import sleep
import sys
def de(string):
for c in string:
print(c, end='')
sys.stdout.flush()
sleep(0.1)
# ...
# Code
# ...
de("nPlayer health: ")
print(player_health)
输出
Player health: 100
"玩家生命值"逐个字母显示,值在之后立即显示。
有两个函数怎么样。一个输出文本,另一个输出文本但返回用户条目。
from time import sleep
import sys
def de(string, end='n'):
for c in string:
print(c, end='')
sys.stdout.flush()
sleep(0.1)
print(end,end='')
def de_input(string):
de(string, end='')
return input()
de("Welcome to game")
name = de_input("What is your name?")
de("Welcome %s" % name)