Python报错‘header_message未定义’:标题上下添加#的功能实现问题
问题解决:'header_message not defined' 错误及代码优化
错误原因
- main函数中调用
create_header(header_message)时,header_message变量从未定义,直接传参触发报错。 create_header函数存在两处问题:参数size未实际使用,且返回的header变量未定义(应返回内部的header_message)。- 类型不匹配:
create_header返回列表,但display_header参数标注为str,逻辑存在隐患。
修正方案
- 移除
create_header中无用的size参数,直接返回目标字符串(简化逻辑,避免列表转字符串的冗余操作)。 - main函数中无需传递未定义变量,直接调用
create_header()获取标题内容。 - 简化
display_header的字符串处理逻辑,直接使用传入的标题字符串。
修正后的代码
def create_header() -> str: return 'Harry Potter Typing Trainer' def display_header(header: str) -> None: print('#' * len(header)) print(header) print('#' * len(header)) def main() -> None: header = create_header() display_header(header) main()
运行结果
########################### Harry Potter Typing Trainer ###########################
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

