Python 我有一段来自文本游戏项目的代码,它不是';他没有按预期工作
我有一段代码如下所示:Python 我有一段来自文本游戏项目的代码,它不是';他没有按预期工作,python,Python,我有一段代码如下所示: 对于l in blah: 系统标准输出写入(l) sys.stdout.flush() 时间。睡眠(0.025) 这会在print语句中打印的每个字符之间增加一点延迟,该语句分配给变量blah。但是,如果print语句中存在变量,例如: blah=“\n”,player_name,”,你必须拯救这片土地,使其免受病毒的侵扰。\n“ 然后print语句将不会像我希望的那样打印,而是像普通的print语句那样打印 我希望打印语句能够像一行一行地快速打印一样打印出来,但实际上,
对于l in blah:
系统标准输出写入(l)
sys.stdout.flush()
时间。睡眠(0.025)
这会在print语句中打印的每个字符之间增加一点延迟,该语句分配给变量blah
。但是,如果print语句中存在变量,例如:
blah=“\n”,player_name,”,你必须拯救这片土地,使其免受病毒的侵扰。\n“
然后print语句将不会像我希望的那样打印,而是像普通的print语句那样打印
我希望打印语句能够像一行一行地快速打印一样打印出来,但实际上,打印语句是一次打印出来的。您可以使用“f字符串”:
这允许您将当前范围内的变量(例如,player\u name
)直接替换到正在构建的字符串中。如果player\u name
是'Alex'
,那么产生的废话将是“\nAlex,您必须…”
您所做的是将一个元组
分配给blah
。然后,当您尝试对其进行迭代时,得到的是“元组的每个元素”,而不是“字符串的每个字符”。内置的print()
函数允许您提供任意数量的参数,并且在内部可以将自身解析为元组,但大多数函数不允许您这样做。“\n”,player\u name,”,您必须保护这片土地免受病毒的侵扰。\n“
是由三个元素组成的元组,其中两个是字符串。所以,blah[2]
就是字符串”,你必须拯救这片土地,使其免受病毒的侵扰。\n“
blah
正如你所展示的,是元组而不是字符串。您可以将其转换为字符串,如中所述
blah = f"\n{player_name}, you must save this land from the virus that has blighted us.\n"