社区讨论

数据点编辑器(python)

灌水区参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lz45mx1n
此快照首次捕获于
2024/07/27 21:15
2 年前
此快照最后确认于
2024/07/27 23:05
2 年前
查看原帖
数据点编辑器(python)
上代码,不喜勿喷
PYTHON
import os
import zipfile


def get_input_data(index):
    print(f"输入第 {index} 组数据(输入 yljs 结束):")
    input_data = []
    while True:
        line = input()
        if line.strip() == "yljs":
            break
        input_data.append(line)
    return "\n".join(input_data)


def get_output_data(index):
    print(f"输入第 {index} 组输出数据(输入 yljs 结束):")
    output_data = []
    while True:
        line = input()
        if line.strip() == "yljs":
            break
        output_data.append(line)
    return "\n".join(output_data)


def main():
    n = int(input("请输入数据组数 n: "))

    # 创建一个临时目录来存储输入输出文件
    os.makedirs("temp", exist_ok=True)

    for i in range(n):
        input_content = get_input_data(i)
        output_content = get_output_data(i)

        # 写入 .in 文件
        with open(f"temp/{i}.in", "w", encoding="utf-8") as infile:
            infile.write(input_content)

        # 写入 .out 文件
        with open(f"temp/{i}.out", "w", encoding="utf-8") as outfile:
            outfile.write(output_content)

    # 打包成 zip 文件
    with zipfile.ZipFile("CSD.zip", "w") as zipf:
        for i in range(n):
            zipf.write(f"temp/{i}.in", arcname=f"{i}.in")
            zipf.write(f"temp/{i}.out", arcname=f"{i}.out")

    # 清理临时文件
    for i in range(n):
        os.remove(f"temp/{i}.in")
        os.remove(f"temp/{i}.out")
    os.rmdir("temp")

    print("数据已成功打包成 CSD.zip")


if __name__ == "__main__":
    main()

回复

3 条回复,欢迎继续交流。

正在加载回复...