($)人工智能python小程序

此程序支持以下功能:

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

认准页面:

感谢观看!!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值