【课程设计】基于python的一款简单的计算器

news2024/11/25 1:02:33

我们是大二本科生团队,主力两人耗时3天完成了这款计算器的制作。希望大家给我们多多引流!!!!!!
欢迎各位优秀的高考学子报考长安大学,报考长安大学电子信息工程专业。
欢迎有志于就读信息与通信工程和计算机科学与技术的准研究生报考长安大学!

注意:文件我已经打包好了!

长安大学直属国家教育部,是国家首批“211工程”重点建设大学、国家“985优势学科创新平台”建设高校、国家“双一流”建设高校。

学校创建于新中国百业待兴之时,壮大于改革浪潮迭起之际,兴盛于高等教育强国大势之中,与共和国同向同行七十余载。自1951年起,学校前身西安公路交通大学、西安工程学院、西北建筑工程学院相继成立。1956年开始招收来华留学生。1978年开始招收硕士研究生。1983年开始招收博士研究生。1997年成为首批“211工程”重点建设大学。2000年三校合并,组建长安大学,掀开学校跨越式发展新篇章。2005年以来,教育部先后与交通部(现交通运输部)、陕西省人民政府、国土资源部(现自然资源部)、住房和城乡建设部签署共建长安大学协议,“四部一省”共建长安大学的办学格局正式形成。2011年入选国家“985优势学科创新平台”建设高校。2017年入选国家首轮“双一流”建设高校。2021年正式成为交通强国建设试点单位。2022年入选国家第二轮“双一流”建设高校,开启事业高质量发展新征程。

学校位居历史文化名城西安,坐拥南北两大校区,南倚大雁塔,北邻渭水滨,建有太白山、梁山、渭水三个教学实习基地,校园面积3745亩。学校着力塑造人文、创新、智慧、绿色和平安的魅力校园,校内绿树成荫,景色优美,设施完备,来自全国31个省市自治区及港澳台地区、40多个民族,全球100多个国家的莘莘学子,在多样性、国际化的校园里,潜心求学、读书问道。

学校坚持社会主义办学方向,紧扣立德树人根本任务,秉承“工科登峰、理科振兴、文科繁荣、交叉突破”的学科发展理念,担当“人才培养的摇篮、科学研究的殿堂、社会服务的基地、文化传承创新的高地、国际交流合作的前沿”的崇高使命,坚持“特色鲜明、国际知名的高水平研究型大学”的目标愿景,成为我国交通运输、国土资源、城乡建设三大行业领域高层次人才培养、高水平科学研究、高质量社会服务的重要基地。

欢迎报考!!!!!!

一 基本功能描述

请看vcr:【计算机高级编程技术课设【软件使用指南】-哔哩哔哩】计算机高级编程技术课设【软件使用指南】_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV14u3meaEFy/?buvid=XUB49CCB61F2E320441ACAADD1A9142E5C00D&from_spmid=main.space.0.0&is_story_h5=false&mid=DSX55daStgGmf6Qi%2FZwRDw%3D%3D&p=1&plat_id=116&share_from=ugc&share_medium=android&share_plat=android&share_session_id=73839433-708a-41a5-9013-0ed81895fa0e&share_source=COPY&share_tag=s_i&spmid=united.player-video-detail.0.0×tamp=1719537869&unique_k=uEJ8wki&up_id=432186946&vd_source=a27cca1e8e2535b680496ae3bc86dc08

二 代码

计算器基本功能

import tkinter as tk
import math
from sympy import symbols, Eq, solve
import webview
import time
from PIL import Image, ImageTk


def qidong(t):
    root1 = tk.Tk()
    root1.title("启动动画")
    root1.geometry("400x400")




    # 创建画布
    canvas = tk.Canvas(root1, width=400, height=400)
    canvas.place(x=0, y=0)


    # 打开gif并把所有帧放到frame这个列表里
    frames = []
    gif = Image.open(r"8.jfif")
    for frame in range(0, gif.n_frames):
        gif.seek(frame)
        frames.append(ImageTk.PhotoImage(gif))


   #第一帧
    image_item = canvas.create_image(200, 200, image=frames[0])

    # 递归来实现轮播
    def animate_gif(frame=0):
        canvas.itemconfig(image_item, image=frames[frame])
        root1.after(50, animate_gif, (frame + 1)%len(frames) )#作用是50毫秒后把animate_gif里的参数改成frame+1

    # Start the animation loop
    animate_gif()



    var6 = tk.StringVar()
    def qh(a=''):
        var6.set(a)

    var6.set("正在加载")




    l = tk.Button(root1, textvariable=var6, command=lambda: destory(), font=("宋体", 14))
    l.place(x=150, y=320)
    root1.after(t,qh,"进入系统")


    def destory():
        root1.destroy()

    root1.mainloop()




qidong(3000)



#_____________界面设计——————————————
root = tk.Tk()
root.title("计算器")
root.geometry("440x550")

#————————————输入输出框——————————————————————————————————————
var1 = tk.StringVar()
var1.set("")
var2 = tk.StringVar()
Output=""
var2.set(Output)
e1= tk.Entry(root, textvariable=var1,width=30,font=("宋体",15))
e1.place(x=90,y=10)
e2= tk.Entry(root, textvariable=var2,width=30,font=("宋体",15))
e2.place(x=90,y=40)




#——————————————————右下角图片————————————————————————


image1 = tk.PhotoImage(file='m_3.png')
li = tk.Label(root, image=image1)
li.place(x=280, y=300)



#————————————————————左上角显示模式————————————————————————————

varm=tk.StringVar()
varm.set("")
lm=tk.Label(root,textvariable=varm,font=("黑体",10),fg="red")
lm.place(x=2,y=2)


def m1():
    varm.set("普通模式")
    global Model
    Model=1
    e1.delete(0, tk.END)
bpt=tk.Button(root,text="普通模式",width=7,height=1,command=m1)
bpt.place(x=10,y=40)

def m2():
    varm.set("方程模式")
    Model=2
    e1.delete(0,tk.END)
bfc=tk.Button(root,text="方程模式",width=7,height=1,command=m2)
bfc.place(x=10,y=320)

def m5():
    varm.set("位运算模式")
    global Model
    Model=5
    e1.delete(0,tk.END)
bw=tk.Button(root,text="位运算模式",width=10,height=1,command=m5)
bw.place(x=10,y=450)





#按钮们————————————————————————————————————————————————————————————————————————————————————————————————

def clickx():
    e1.insert(tk.END,"X")
bx=tk.Button(root,text="X",width=7,height=1,command=clickx)
bx.place(x=80,y=320)
def clickxd():
    e1.insert(tk.END,"=")
bxd=tk.Button(root,text="=",width=7,height=1,command=clickxd)
bxd.place(x=150,y=320)

def click1():
    e1.insert("end","1")
b1=tk.Button(root,text="1",width=5,height=1,command=click1)
b1.place(x=40,y=100)
def click2():
    e1.insert("end","2")
b2=tk.Button(root,text="2",width=5,height=1,command=click2)
b2.place(x=100,y=100)

def click3():
    e1.insert("end","3")
b3=tk.Button(root,text="3",width=5,height=1,command=click3)
b3.place(x=160,y=100)

def clickj():
    e1.insert("end","+")
bj=tk.Button(root,text="+",width=5,height=1,command=clickj)
bj.place(x=220,y=100)
def clicksin():
    e1.insert("end","sin")
bsin=tk.Button(root,text="sin",width=5,height=1,command=clicksin)
bsin.place(x=300,y=100)

def click4():
    e1.insert("end","4")
b4=tk.Button(root,text="4",width=5,height=1,command=click4)
b4.place(x=40,y=140)
def click5():
    e1.insert("end","5")
b5=tk.Button(root,text="5",width=5,height=1,command=click5)
b5.place(x=100,y=140)

def click6():
    e1.insert("end","6")
b6=tk.Button(root,text="6",width=5,height=1,command=click6)
b6.place(x=160,y=140)

def clickjj():
    e1.insert("end","-")
bjj=tk.Button(root,text="-",width=5,height=1,command=clickjj)
bjj.place(x=220,y=140)

def clickcos():
    e1.insert("end","cos")
bcos=tk.Button(root,text="cos",width=5,height=1,command=clickcos)
bcos.place(x=300,y=140)

def click7():
    e1.insert("end","7")
b7=tk.Button(root,text="7",width=5,height=1,command=click7)
b7.place(x=40,y=180)
def click8():
    e1.insert("end","8")
b8=tk.Button(root,text="8",width=5,height=1,command=click8)
b8.place(x=100,y=180)

def click9():
    e1.insert("end","9")
b9=tk.Button(root,text="9",width=5,height=1,command=click9)
b9.place(x=160,y=180)
def clickc():
    e1.insert("end","*")
bc=tk.Button(root,text="*",width=5,height=1,command=clickc)
bc.place(x=220,y=180)
def clicktan():
    e1.insert("end","tan")
btan=tk.Button(root,text="tan",width=5,height=1,command=clicktan)
btan.place(x=300,y=180)

def click0():
    e1.insert("end","0")
b0=tk.Button(root,text="0",width=5,height=1,command=click0)
b0.place(x=40,y=220)
def clickz():
    e1.insert("end","(")
bz=tk.Button(root,text="(",width=5,height=1,command=clickz)
bz.place(x=100,y=220)

def clicky():
    e1.insert("end",")")
by=tk.Button(root,text=")",width=5,height=1,command=clicky)
by.place(x=160,y=220)

def clickcc():
    e1.insert("end","/")
bcc=tk.Button(root,text="/",width=5,height=1,command=clickcc)
bcc.place(x=220,y=220)

def clickp():
    e1.insert("end","^")
bp=tk.Button(root,text="^",width=5,height=1,command=clickp)
bp.place(x=220,y=260)

def clickxsd():
    e1.insert("end",".")
bxsd=tk.Button(root,text=".",width=5,height=1,command=clickxsd)
bxsd.place(x=160,y=260)

def clickg():
    e1.insert("end","fac")
bp=tk.Button(root,text="fac",width=5,height=1,command=clickg)
bp.place(x=300,y=260)

def clickwy():

    e1.insert("end","&")
bwy=tk.Button(root,text="&",width=5,height=1,command=clickwy)
bwy.place(x=40,y=500)
def clickwh():

    e1.insert("end","|")
bwh=tk.Button(root,text="|",width=5,height=1,command=clickwh)
bwh.place(x=100,y=500)

def clickwyh():

    e1.insert("end","^")
bwyh=tk.Button(root,text="^",width=5,height=1,command=clickwyh)
bwyh.place(x=160,y=500)

def clickwf():

    e1.insert("end","~")
bwf=tk.Button(root,text="~",width=5,height=1,command=clickwf)
bwf.place(x=220,y=500)








#--------特殊按钮-------------------------------------------------

def clicktq():#清空显示屏
    e1.delete(0,"end")
    e2.delete(0,"end")
bq=tk.Button(root,text="C",width=5,height=3,command=clicktq)
bq.place(x=360,y=180)
def clicks():#实现删除最后一个字符的操作
    text=var1.get()
    text=text[:-1]
    e1.delete(0,"end")
    e1.insert(0,text)

bs=tk.Button(root,text="Back",width=5,height=1,command=clicks)
bs.place(x=360,y=260)










#——————————————————————————————————————————核心按钮——————————————————————————————————————————————————
def clickqj():
    global Model
    Model=2
    Input = var1.get()
    print(Input)
    print(Model)

    Output=js(Input,Model)
    var2.set(Output)
    history(Input, Output, Model)

bqj=tk.Button(root,text="求解",width=7,height=1,command=clickqj)
bqj.place(x=220,y=320)

def clickd():
    global Input
    Input=var1.get()
    print(Input)
    print(Model)
    Output=js(Input,Model)
    history(Input, Output, Model)
    var2.set(Output)
bd=tk.Button(root,text="=",width=5,height=3,command=clickd)
bd.place(x=360,y=100)

def m3():
    global Model
    Model=3
    Input=var1.get()
    print(Input)
    print(Model)
    Output=js(Input,Model)
    history(Input, Output, Model)
    var2.set(Output)

b10z2=tk.Button(root,text="10→2",command=m3)
b10z2.place(x=80,y=400)
def m4():
    global Model
    Model=4
    Input=var1.get()
    print(Input)
    print(Model)
    Output = js(Input, Model)
    history(Input, Output, Model)
    var2.set(Output)
b10z2=tk.Button(root,text="2→10",command=m4)
b10z2.place(x=160,y=400)
l=tk.Label(root,text="进制转化")
l.place(x=10,y=400)







#------------------计算------------------

def js(Input,Model):

    if Model ==1:
        Input=Input.replace("sin","math.sin")
        Input = Input.replace("cos", "math.cos")
        Input = Input.replace("tan", "math.tan")
        Input = Input.replace("fac", "math.factorial")
        Input = Input.replace("^", "**")
        try:
            Output = eval(Input)
        except ZeroDivisionError:
            Output = 'error'
        else:
            return Output
        finally:
            return Output

    elif Model == 2:#引入sympy库实现
        # 定义变量
        X = symbols('X')
        flag = Input.index("=")
        before = Input[0:flag]
        after =Input[flag+1::]
        # 定义方程
        equation = Eq(eval(before), eval(after))
        #解方程
        Output = solve(equation, X)
        if "I" in str(Output):
            Output = "error!"
            return Output
        else:
            return Output
    elif Model == 3:
        Output = bin(eval(Input))[2::]
        return Output
    elif Model == 4:#十进制转二进制
        try:
            Output = str(int(Input,2))
        except ValueError:
            Output = '请检查输入!'
            return  Output
        else:
            return Output

    elif Model == 5:
        i, data, datas = 0, '', []
        while i < len(Input):#字符串拆成列表
            if Input[i] == '0':
                data = data + Input[i]
                i += 1
            elif Input[i] == '1':
                data = data + Input[i]
                i += 1
            else:
                datas.append(data)
                data = Input[i]
                datas.append(data)
                data = ''
                i += 1
        datas.append(data)

        while '~' in datas:#把取反运算转换为相同位数全为1的与自身取异或
            flag1 = datas.index('~')#找出~的位置
            j = '0'
            for i in datas[flag1 + 1]:
                if i == '0':
                    j = j + '1'
                else:
                    j = j + '0'
            datas[flag1] = j[1::]
            del datas[flag1 + 1]

        datasnew = []
        for item in datas:#把二进制转换为十进制
            if item == '':
                del item
            elif item.isnumeric():
                item = item[::-1]
                j, num = 0, 0
                for i in item:# 转化为十进制字符串
                    num = 2 ** j * int(i) + num
                    j += 1
                item = str(num)
                datasnew.append(item)
                continue
            else:
                datasnew.append(item)
                continue

        Output = bin(eval(''.join(datasnew)))#运算
        flag2 = Output.index('b')#适合形式输出
        Output = Output[flag2+1::]
        return Output








#__________使用说明------------------------------
def ck():#窗口

    # 创建GUI窗口以查看HTML内容
    webview.create_window('使用说明', 'source\import.html')
    webview.start()


bck=tk.Button(root,text="使用说明",width=7,height=1,command=ck)
bck.place(x=10,y=280)






#————————————————————历史日志————————————————————————
def history(In,Out,M):
    f=open("history.txt",'a',encoding="utf-8")
    f.write(time.strftime("%Y.%m.%d %H:%M:%S") + "\n")
    f.writelines("输入: "+In+"\n")
    f.writelines("输出: "+str(Out)+"\n")
    if M==1:
        m="普通模式"
    elif M==2:
        m = "方程模式"
    elif M == 3:
        m = "十进制转二进制"
    elif M == 4:
        m = "二进制转十进制"
    else:
        m="位运算模式"

    f.writelines(m+"\n\n\n")
    f.close()






root.mainloop()

计算器使用说明端(网页)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用介绍及反馈</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
  * {
    box-sizing: border-box;
  }
   
  body {
    font-family: Arial;
    padding: 100px;
    background: rgb(40, 147, 223);
  }
   
  /* 头部标题 */
  .header {
    padding: 50px;
    text-align: center;
    background:rgb(167, 232, 89);
  }   
  /* 创建两列 */
  /* 左侧栏 */
  .leftcolumn {   
    float: left;
    width: 33.3%;
    background: white
  }
   
  /*右侧栏*/
  .rightcolumn {   
    float: left;
    width: 50%;
    background: white
  }
   
  /* 图像部分 */
  .fakeimg {
    background-color:white;
    width: 100%;
    padding: 50px;
  }
   
  /* 底部 */
  .footer {
    padding: 20px;
    text-align: center;
    background: #ddd;
    margin-top: 20px;
  }
   
</style>
</head>
<body>
    
<div class="header">
  <div>
    <h1> 欢迎访问使用说明!</h1>
    <div class = "body">
      <p><i>注:建议将页面缩放比例减小到90%</i></p>
    </div>
  </div>
</div>

<div class ="body">

  <h1>指导老师介绍</h1>
  <p>
    <h2>刘立东</h2><br><br>
      <i>长安大学电子信息工程系教授</i>  
      <a href="https://js.chd.edu.cn/xxgcxy/lld/list.htm">     点击此处了解更多   </a>
  </p>
  <br>
  <div class = fakeimg>
    <img src = "liu.png" alt="">
  </div>
  <p>
    <h2>高涛</h2><br><br>
      <i>长安大学电子信息工程系教授</i>  
      <a href="https://js.chd.edu.cn/xxgcxy/gt100/list.htm">     点击此处了解更多   </a>
  </p>
  <br>
  <div class = fakeimg>
    <img src = "gaotao.png" alt="">
  </div>
    <h1>成员分工介绍</h1>
    <ul>
      <li><b>苏荣康</b>:负责计算机交互界面构建,历史日志及启动动画模块制作</li>
      <li><b>姜宇航</b>:负责编写运算功能,网页模块全程制作以及exe文件的打包</li>
      <li><b>杨雨馨</b>:负责撰写报告中的排版设计与问题分析部分</li>
      <li><b>李明凯</b>:负责撰写报告中的程序模块和算法分析部分</li>
      <li><b>龙晨雨</b>:负责撰写报告中摘要,需求分析,算法分析以及引用文献部分</li>
    
    <h1>意见收集<h1>
     <b>您可以将您在使用本产品过程中产生的问题及建议反馈给开发人员</b>

      <form action="#">
        <label for ='username'>意见栏:</label>
        <input type="text" id = "username" placeholder = "请输入内容">
        <br><br>
        <label for = "username">选择产生问题的模块</label>
      <input type="radio" name = "question"> 普通模式
      <input type="radio" name = "question"> 方程模式
      <input type="radio" name = "question"> 进制转化
      <input type="radio" name = "question"> 位运算模式
      <input type="radio" name = "question"> 其他意见

      <input type="submit" value="上传">
    </form> 
</div>
<h1>功能简介</h1>
<p>您可以选择跳转至<a href="usage.html">图片教程</a>,也可以<a href="https://www.bilibili.com/video/BV14u3meaEFy/?buvid=XUB49CCB61F2E320441ACAADD1A9142E5C00D&from_spmid=main.space.0.0&is_story_h5=false&mid=DSX55daStgGmf6Qi%2FZwRDw%3D%3D&p=1&plat_id=116&share_from=ugc&share_medium=android&share_plat=android&share_session_id=73839433-708a-41a5-9013-0ed81895fa0e&share_source=COPY&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1719537869&unique_k=uEJ8wki&up_id=432186946&vd_source=a27cca1e8e2535b680496ae3bc86dc08">点击此处跳转至视频教程</a></p>

</div>

<div class = "footer">
  <p>禁止侵权,违者必究!
    <br>该项目仅作无偿使用之目的,项目权限归属本团队
    <br>@chd 电子信息工程系
  </p>

</div>
</body>
</html>

        

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>使用教程</title>
    <style>
         /* 头部标题 */
  .header {
    padding: 50px;
    text-align: center;
    background:white;
  }   
  /* 创建两列 */
  /* 左侧栏 */
  .leftcolumn {   
    float: left;
    width: 50%;
    background: rgb(167, 232, 89)
  }
   
  /*右侧栏*/
  .rightcolumn {   
    float: left;
    width: 50%;
    background: rgb(167, 232, 89)
  }
   
  /* 图像部分 */
  .fakeimg {
    background-color:rgb(167, 232, 89);
    width: 100%;
    padding: 50px;
    justify-content: center;
  }
   
  /* 底部 */
  .footer {
    padding: 20px;
    text-align: center;
    background: #ddd;
    margin-top: 20px;
  }
    </style>
</head>
<body>
    <div class="header">
        <div>
          <h1> 欢迎访问图片教程!</h1>
          <div class = "body">
            <p><i>注:建议将页面缩放比例减小到90%</i></p>
          </div>
        </div>
    </div>

    <div class = "leftcolumn">
        <div class = "fakeimg">
            <img src = "pic1.png" alt="">
            <img src = "pic3.png" alt="">
            <img src = "pic5.png" alt="">
            <img src = "pic7.png" alt="">
        </div>
    </div>
    
    <div class = "leftcolumn">
        <div class = "fakeimg">
            <img src = "pic2.png" alt="">
            <img src = "pic4.png" alt="">
            <img src = "pic6.png" alt="">
            <img src = "pic8.png" alt="">
        </div>
    </div>

    <div class = "footer">
        <p>禁止侵权,违者必究!
          <br>该项目仅作无偿使用之目的,项目权限归属本团队
          <br>@chd 电子信息工程系
        </p>      
      </div>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1888597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手机数据恢复篇:如何从损坏的iPhone恢复数据

不知道如何在没有备份的情况下从损坏的iPhone恢复数据&#xff1f;阅读本文&#xff0c;您可以获得从损坏的iPhone中提取数据的详细步骤。 可能很多苹果用户都经历过上述场景带来的痛苦。意外事件经常发生&#xff0c;例如 iPhone 被液体损坏并从高处掉落。面对无响应的屏幕&a…

3DMAX选择相似对象插件使用方法

3DMAX选择相似对象插件使用教程 3DMAX选择相似对象插件&#xff0c;允许你选择与当前选定对象相似的对象。它将比较当前可见对象或场景中所有对象内的边界框大小、网格&#xff08;顶点、面、边数&#xff09;和材质。 【版本要求】 3dMax7及更高版本&#xff08;建议使用3dMa…

线性代数笔记

行列式 求高阶行列式 可以划上三角 上三角 余子式 范德蒙行列式 拉普拉斯公式 行列式行列对换值不变 矩阵 矩阵的运算 同型矩阵加减 对应位置相加减 矩阵的乘法 左边第 i 行 一次 相乘求和 右边 第 j 列 eg 中间相等 两边规模 矩阵的幂运算 解题思路 找规律 数学归纳…

基于大语言模型建模改变法律服务是否在速度和准确性上超越人类?

概述 人工智能&#xff08;AI&#xff09;在法律行业的发展为法律服务创造了新的可能性。然而&#xff0c;关于使用生成式人工智能和大规模语言模型&#xff08;LLM&#xff09;解决和发现法律问题的研究仍有很大的探索空间。尤其关键的是&#xff0c;要了解这些先进技术是如何…

生命在于学习——Python人工智能原理(3.2.1)

二、随机变量 2.1 随机变量及其分布 &#xff08;一&#xff09;基本概念 定义1 随机变量 随机变量表示随机试验各种结果的实值单值函数&#xff0c;即能用数学分析方法来研究随机现象&#xff0c;例如某一时间内公共汽车站等车的乘客人数、淘宝在一定时间内的交易次数等&am…

MySQL学习(5):SQL语句之数据查询语言:DQL

1.DQL语法 select 字段列表 from 表名列表 #DQL是可以进行多表查询的 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 2.基本查询&#xff08;select&#xff09; 2.1查询多字段 select 字段1,字段2,字段3,......fro…

AI+BI:结合大语言模型实现对话式的智能报表系统

转自&#xff1a;AI产品经理研习与实践 引言&#xff1a;BI是什么、AI大语言模型结合BI有什么优势 AIBI的不同模式&#xff1a;主要关注在数据查询分析&可视化呈现环节 AIBI的实施挑战 产品实践&#xff1a;包括网易、百度、京东、腾讯以及观远数据、神策数据在AIBI上的…

vscode移动侧边栏到右边

vscode移动侧边栏到右边&#xff0c;的简单办法 直接在侧栏上单击右键&#xff0c;选择向右移动主侧栏

基于Hadoop平台的电信客服数据的处理与分析④项目实现:任务18: 数据展示

任务描述 接下来我们需要将根据业务需求将某人按照不同维度查询出来的结果&#xff0c;展示到Web页面上。 任务指导 数据展示模块流程图&#xff1a; 数据展示使用Java的SSM框架&#xff0c;需要实现的代码包括&#xff1a; 1. 实体类 2. 数据库操作 3. 业务逻辑操作 4.…

Java程序设计课后习题(答案版) 期末复习

第一章 Java语言概述 一、选择题 下面哪种类型的文件可以在Java虚拟机中运行?( A ) A. class B. Java C. jre D. exe 如果JDK 的安装路径为“d:\jdk”&#xff0c;若想在命令窗口中任何当前路径下&#xff0c;都可以直接使用javac和java命令&#xff0c;需要将环境变量path设…

vue实现搜索文章关键字,滑到指定位置并且高亮

1、输入搜索条件&#xff0c;点击搜索按钮 2、滑到定位到指定的搜索条件。 <template><div><div class"search_form"><el-inputv-model"searchVal"placeholder"请输入关键字查询"clearablesize"small"style&quo…

LaySNS模板仿RiPro日主题素材源码资源下载响应式CMS模板

LaySNS模板仿RiPro日主题素材源码资源下载响应式CMS模板&#xff0c;该主题是网上泛滥的RiPro主题仿制而成的laysns模板&#xff0c;原主题是很强大的。 全站功能是通过ajax响应实现的&#xff0c;另外就是网上流传得比较多的是美化版。 主要说明&#xff1a;付费/回复下载功…

三爱法国高中留学:开启全球视野的黄金之路

综合素质培养 : 全面发展的教育体系 法国高中课程以其全面而严谨的教育体系闻名全球。学生不仅学习到丰富的学科知识,如法语及文学、外语、科学、历史地理、哲学和体育等,还通过独特的教学方法培养独立思考和批判性思维能力。法国是全球唯一将哲学纳入中学必修课程的国家,这种…

物流行业:智能物流跟踪

在现代物流中&#xff0c;RFID技术的应用已经成为提高运输效率和安全性的重要手段。RFID标签可以被轻松地附加到货物上&#xff0c;并能够实时记录物品的位置和状态。通过这些标签&#xff0c;物流公司可以实时追踪货物的运输路径&#xff0c;监控货物的运输状况&#xff0c;确…

Android MQTT 反复重连故障

一、检查是否断开&#xff0c;在不用mqtt地方调用disconnect. /*** 断开Mqtt连接*/public static void disconnect() {try {if (mqttAndroidClient ! null) {String topic PUBLISH_TOPIC devicesId;if (mqttAndroidClient.isConnected()){mqttAndroidClient.unsubscribe(topi…

深圳AI绘画模型训练外包服务公司

&#x1f680; 最强AI绘画、图片生成技术服务公司出炉 —— 触站AI&#xff0c;智能图像的革新工坊 &#x1f3a8; 在AI技术的浪潮中&#xff0c;触站AI以其专业和创新&#xff0c;成为企业AI图像领域的技术解决方案服务先锋。 &#x1f6e0;️ 第一&#xff1a;触站AI&#x…

前端进阶:Vue.js

目录 框架&#xff1a; 助解&#xff1a; 框架&#xff1a; VUE 什么是Vue.js? Vue.js优点 Vue安装 方式一&#xff1a;直接用<script>引入 方式二&#xff1a;命令行工具 第一个Vue程序 代码 代码解释&#xff1a; 运行 Vue指令 v-text v-html v-tex…

电脑版微信自动发送微信消息给好友或者群聊

一.软件下载 点击微信自动发送消息下载 二.相关使用方法 1.打开软件&#xff0c;输入想自动发送的内容 2.确保登录了微信电脑版【PC端】&#xff0c;然后切换到想要自动发送的好友或群聊的窗口。 3.点击开始&#xff0c;现在自动发送即可&#xff0c;稍等三秒程序自动运行。 …

# Sharding-JDBC从入门到精通(6)-- Sharding-JDBC 水平分库 和 垂直分库。

Sharding-JDBC从入门到精通&#xff08;6&#xff09;-- Sharding-JDBC 水平分库 和 垂直分库。 一、Sharding-JDBC 水平分库-分片策略配置 1、分库策略定义方式如下 # 分库策略&#xff0c;如何将一个逻辑表映射到多个数据源 spring.shardingsphere.sharding.tables.<逻…

法制史学习笔记(个人向) Part.3

5. 三国两晋南北朝法律制度 以下为三国魏晋南北朝直到唐代的历史发展脉络图&#xff1a; #mermaid-svg-6AVVMjllKTBaBbRO {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6AVVMjllKTBaBbRO .error-icon{fill:#55222…