如何让Python代码将乘法表写入生成的文件?循环内print无效求助
修复乘法表文件生成问题
你的代码存在几个关键问题导致无法生成正确的乘法表:
- 函数内部错误引用了全局变量
n,而非传入的参数number - 循环仅执行了变量累加操作,完全没有将乘法表内容写入文件
- 初始写入的标题格式错误,且未添加换行,会导致后续内容和标题粘连
以下是修正后的完整代码:
def individualizing_file(number: int) -> None: with open(f"file_{number}.txt", "w") as f: # 写入乘法表标题并换行 f.write(f"Multiplication table for {number}\n") # 遍历1到10生成每一行乘法表内容 for i in range(1, 11): product = number * i # 写入格式化的乘法表达式,每行末尾加换行符 f.write(f"{number} × {i} = {product}\n") if __name__ == '__main__': n = int(input("Enter a number between 1-9: ")) individualizing_file(n)
关键修改说明:
- 移除了冗余的
increasing_number变量,直接用传入的number和循环变量i计算乘积,逻辑更清晰 - 修正标题文本的格式错误,并添加
\n换行符,确保标题和后续内容分开 - 将循环范围改为
range(1,11),覆盖1到10的所有乘数,符合乘法表的常规需求 - 每次循环都计算乘积,并将格式化后的乘法表达式写入文件,保证内容正确输出
内容的提问来源于stack exchange,提问作者ThaSpoda
相关产品推荐
相关产品推荐

