首页 > 解决方案 > 如何计算将在 Python 中打印的下一个字符串的长度?

问题描述

我正在尝试根据字符串的长度创建延迟。但是延迟必须在字符串打印到控制台之前发生。目标是为冒险游戏添加一点真实感。

这是我想出的当前代码。我知道这是不对的,但这是我使用 Python 的第一周。

import time

def calculate_text_speed(delay):
        delay = text.len() / 20

def start_game():
    calculate_text_speed(delay)
    
    time.sleep(calculate_text_speed.delay)
    print("Test message.")

我应该创建一个带有对话的列表来预先计算字符串吗?这可能会降低代码的可读性,对吧?

标签: pythonstringconsole-applicationstring-length

解决方案


也许这就是您不声明文本的意思?

def print_with_delay(text):
    time.sleep(len(text) / 20)
    print(text)

print_with_delay("Some very exciting things are happening....")

原始答案: 您可以创建非常易读的代码,而无需提前生成文本列表。

主要问题是您将错误的东西传递给calculate_text_speed。试试这个。

import time

text = "Some very exciting things are happening...."

#pass text to the calculate_text_speed function
def calculate_text_speed(text):
    return len(text) / 20

time.sleep(calculate_text_speed(text))
print(text)

推荐阅读