python漂流瓶(使用tkinter,自动创建文档,随机选取)

本文使用创作助手。

网站版漂流瓶程序见主页。

下面是一个使用Python和Tkinter创建一个本地互联网漂流瓶程序的示例代码,满足你的要求:

import tkinter as tk
from tkinter import messagebox
import random

def create_message():
    messages = entry.get("1.0", tk.END).strip().split("\n")
    if messages:
        try:
            with open('messages.txt', 'a') as file:
                for message in messages:
                    file.write(message + '\n')
                entry.delete("1.0", tk.END)
                messagebox.showinfo("Success", "漂流瓶已创建!")
        except Exception as e:
            messagebox.showerror("Error", str(e))
    else:
        messagebox.showerror("Error", "请输入漂流瓶内容!")

def retrieve_message():
    try:
        with open('messages.txt', 'r') as file:
            messages = file.readlines()
        if messages:
            messagebox.showinfo("漂流瓶", random.choice(messages).strip())
        else:
            messagebox.showwarning("漂流瓶", "没有漂流瓶可供选择!")
    except Exception as e:
        messagebox.showerror("Error", str(e))

# 创建主窗口
window = tk.Tk()
window.title("本地互联网漂流瓶")
window.geometry("600x400")
window.configure(bg='white')

# 添加标签和输入框
label = tk.Label(window, text="输入漂流瓶内容:", bg='white', font=('Arial', 12))
label.pack(pady=10)
entry = tk.Text(window, font=('Arial', 12), width=50, height=10)
entry.pack(pady=10)

# 添加按钮
create_button = tk.Button(window, text="创建漂流瓶", command=create_message, font=('Arial', 12))
create_button.pack(pady=10)

retrieve_button = tk.Button(window, text="随机选择漂流瓶", command=retrieve_message, font=('Arial', 12))
retrieve_button.pack(pady=10)

# 运行主循环
window.mainloop()

运行这段代码后,将创建一个更大的Tkinter窗口,其中可以输入多条漂流瓶的内容。点击“创建漂流瓶”按钮后,所有的内容将保存在名为“messages.txt”的文件中。点击“随机选择漂流瓶”按钮后,将从文件中随机选择一条漂流瓶内容进行展示。

同样地,在运行代码之前,确保在与代码相同的目录中创建一个名为“messages.txt”的文件。

(记得去主页查看网页版程序!)

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值