此程序支持以下功能:
1:账户登录(默认账户"用户",默认密码12345678)
2: 打开网页
更多功能(有的可能无法使用):
完整代码:
import tkinter as tk
from tkinter import messagebox, simpledialog
import webbrowser
import time
import re
import random
import datetime
# 预设的用户名和密码
USERNAME = "用户"
PASSWORD = "12345678"
def verify_credentials(username, password):
return username == USERNAME and password == PASSWORD
def login():
login_window = tk.Tk()
login_window.title("登录")
tk.Label(login_window, text="用户名:").pack()
username_entry = tk.Entry(login_window)
username_entry.pack()
tk.Label(login_window, text="密码:").pack()
password_entry = tk.Entry(login_window, show="*")
password_entry.pack()
def check_login():
user = username_entry.get()
passw = password_entry.get()
if verify_credentials(user, passw):
messagebox.showinfo("登录成功", "欢迎回来!")
login_window.destroy()
app()
else:
messagebox.showerror("登录失败", "用户名或密码错误")
tk.Button(login_window, text="登录", command=check_login).pack()
login_window.mainloop()
def handle_input():
user_input = entry.get().lower().strip()
if '介绍' in user_input:
messagebox.showinfo("介绍", "欢迎使用这个程序!你可以输入以下命令:当前时间、日期查询、数学计算、听名言、单位转换、打开网页、搜索、查看天气预报。")
elif '时间' in user_input:
localtime = time.asctime(time.localtime(time.time()))
messagebox.showinfo("时间", f"本地时间为: {localtime}")
elif '日期' in user_input:
today = datetime.date.today()
messagebox.showinfo("日期", f"今天的日期是:{today.year}年{today.month}月{today.day}日")
elif re.search(r'(\d+\s*[+\-*/]\s*\d+)', user_input):
result = perform_calculation(user_input)
messagebox.showinfo("计算结果", result)
elif '名言' in user_input:
quote = get_quote()
messagebox.showinfo("名言", quote)
elif '转换' in user_input:
conversion = perform_conversion(user_input)
messagebox.showinfo("单位转换", conversion)
elif '搜索' in user_input or '网页' in user_input:
query = simpledialog.askstring("输入", "请输入搜索内容或网页地址:")
if query:
if '搜索' in user_input:
show_search_results(query)
else:
show_webpage(query)
elif '天气' in user_input:
city = simpledialog.askstring("输入", "请输入城市名查看天气预报:")
if city:
open_weather_website(city)
else:
messagebox.showinfo("帮助", "很抱歉,我没有理解您的意思。请尝试输入 '介绍'、'时间'、'日期查询'、'数学计算'、'听名言'、'单位转换'、'打开网页'、'搜索' 或 '查看天气预报'。")
def perform_calculation(user_input):
try:
result = eval(user_input)
return f"计算结果是:{result}"
except Exception as e:
return "很抱歉,我无法计算这个表达式。请确保输入的是有效的数学表达式。"
def get_quote():
quotes = [
"生活就像一盒巧克力,你永远不知道你会得到什么。",
"不要等待机会,而是创造机会。",
"成功的人是从失败中走出来的,而不是从成功中走出来的。"
]
return random.choice(quotes)
def perform_conversion(user_input):
try:
if '华氏度' in user_input:
fahrenheit = float(re.search(r'\d+', user_input).group())
celsius = (fahrenheit - 32) * 5.0/9.0
return f"{fahrenheit}华氏度等于{celsius:.2f}摄氏度。"
elif '摄氏度' in user_input:
celsius = float(re.search(r'\d+', user_input).group())
fahrenheit = celsius * 9.0/5.0 + 32
return f"{celsius}摄氏度等于{fahrenheit:.2f}华氏度。"
else:
return "请提供有效的单位转换,例如 '32华氏度' 或 '0摄氏度'。"
except Exception as e:
return "很抱歉,我无法进行这个单位转换。请确保输入的是有效的数值和单位。"
def show_search_results(query):
url = f"https://www.bing.com/search?q={query}"
webbrowser.open(url)
messagebox.showinfo("搜索", f"正在为您使用Bing搜索:{query}")
def show_webpage(url):
webbrowser.open(url)
messagebox.showinfo("打开网页", f"正在为您打开网页:{url}")
def open_weather_website(city):
url = f"https://www.weather.com/cn/weather/{city}"
webbrowser.open(url)
messagebox.showinfo("天气预报", f"正在为您打开{city}的天气预报网页。")
def app():
global entry # 声明 entry 为全局变量
root = tk.Tk()
root.title("命令输入")
entry = tk.Entry(root, width=50) # 现在 entry 是全局变量
entry.pack(pady=20)
label = tk.Label(root, text="有什么事尽管吩咐:")
label.pack()
button = tk.Button(root, text="执行", command=handle_input)
button.pack(pady=10)
entry.bind("<Return>", lambda event: handle_input())
root.mainloop()
if __name__ == "__main__":
login()
插播:
作者自己开了个我的世界Java1.21.1服务器(非正版):
地址:9704hmqj8111.vicp.fun:55887
认准页面:
感谢观看!!!