python tkinter从入门到撩妹-整蛊弹窗-1

python几行代码轻松实现多重弹窗趣味整蛊小程序 代码如下,需要用到tkinter库,直接pip install tkinter: # -*- coding: utf-8 -*- import tkinter.messagebox def A(): while True: tkinter.messagebox.showerror('你是猪你是猪你是猪!!!') if __name__=='__main__': tkinter.messagebox.showerror('点击五次有惊喜~~~') tkinter.mes 阅读详情

python版本:3.6
图片素材前往我的github下载:https://github.com/BigShuang/liaomei
效果如图
动画见本人b站投稿
在这里插入图片描述

目录

1实现一个无法关闭的窗体

使用tkinter实现基础窗体只需如下三行代码

import tkinter as tk

win = tk.Tk()
win.mainloop()

运行结果如下图
在这里插入图片描述
这是个没有任何内容的窗体,点击右上角的×会关闭这个窗体。
要实现整蛊,就必须让窗体无法通过这个×关闭
这里我们仔细看前面三行代码,会发现窗体是使用tkinter里面的TK类
点击右上角的×实际上调用的是TK类的destory方法,该方法源码如下
在这里插入图片描述
这里我们新建一个TK类的子类并重写destory方法使其失效就可以。
代码如下

import tkinter as tk


# 新建无法直接关闭的TK类
class NewTk(tk.Tk):
    def destroy(self):
        # 点击界面右上角的关闭按钮时,会调用本函数,
        # 覆盖掉了父类的关闭方法,使得界面无法关闭
        pass


win = NewTk()
win.mainloop()

此时运行出来的窗体就不可以通过右上角的×关闭了。
补充:如果你使用的不是pycharm编辑器而是sublimetext这种,那么可能你运行后会发现这个窗口你关不了,因为你无法停止运行这个py脚本,这个时候只能用任务管理器关闭该窗口了,关闭任务管理器中的如下图标的任务就好
在这里插入图片描述

2 添加一行字一张图片和两个按钮

在窗体里添加图片只需要原有代码的win = NewTk()和win.mainloop()之间添加
如下代码

# 这里的图片路径对于小白来说,最保险是绝对路径
# 如果你的图片001.gif和代码在一个文件夹,直接可以使用下面一行
# IMGPATH = "001.gif"
# 如果代码文件和图片所在文件夹在同一目录,即代码和img文件夹在同一目录,直接用下一行
# IMGPATH = "img/001.gif"
# 我的github里,代码文件夹和图片文件夹在同一目录,所以使用的是下一行
IMGPATH = "../img/001.gif"
photo = tk.PhotoImage(file=IMGPATH)
imgLabel = tk.Label(win,image=photo)
imgLabel.place(x=0, y=0)

此时运行会发现窗体太小,只展示了图片左上角的部分区域
如图
在这里插入图片描述
所以需要调整窗体大小,调整后设置图片位置到中间区域
调整后代码如下

import tkinter as tk


# 新建无法直接关闭的TK类
class NewTk(tk.Tk):
    def destroy(self):
        # 点击界面右上角的关闭按钮时,会调用本函数,
        # 覆盖掉了父类的关闭方法,使得界面无法关闭
        pass


win = NewTk()
WINWIDTH = 800
WINHEIGHT = 600
win.geometry("%sx%s" % (WINWIDTH, WINHEIGHT))

IMGPATH = "../img/001.gif"
photo = tk.PhotoImage(file=IMGPATH)
imgLabel = tk.Label(win, image=photo)
imgLabel.place(x=180, y=80)

win.mainloop()

再在图片上添加一行文字用于提问,代码如下(代码放在imgLabel.place(x=180, y=80)和win.mainloop()这两行之间)

question = "我喜欢你,有机会吗?"
q = tk.Label(win, text=question)
q.place(x=180, y=20)

然后再在win.mainloop() 上面添加按钮,代码如下

yes = "有"
no = "没有"
yes_button = tk.Button(win, text=yes)
yes_button.place(x=100, y=500)

no_button=tk.Button(win, text=no)
no_button.place(x=400, y=500)

此时页面运行效果如下
在这里插入图片描述
整体样子有些丑陋,一个是布局丑,一个是各个控件大小不协调导致的丑
我们需要修改下

3 样式优化

首先,调整下这个按钮和图片的位置关系,并给窗体添加标题,比如叫做大妹子,如下图
在这里插入图片描述
先调整位置关系,代码如下

import tkinter as tk

IMGPATH = "../img/001.gif"
WINWIDTH = 800
WINHEIGHT = 600
WINX = 400
WINY = 100

img_x = 180
img_y = 60

question_y = 20

button_width = 100
button_height = 40
yes_button_x = img_x - button_width // 2
no_button_x = WINWIDTH - img_x - button_width//2
button_y = 520

question = "我喜欢你,有机会吗?"
yes = "有"
no = "没有"
title = "大妹子"


# 新建无法直接关闭的TK类
class NewTk(tk.Tk):
    def destroy(self):
        # 点击界面右上角的关闭按钮时,会调用本函数,
        # 覆盖掉了父类的关闭方法,使得界面无法关闭
        pass


win = NewTk()
win.title(title)
win.geometry("%sx%s+%s+%s" % (WINWIDTH, WINHEIGHT, WINX, WINY))

photo = tk.PhotoImage(file=IMGPATH)
imgLabel = tk.Label(win, image=photo)
imgLabel.place(x=img_x, y=img_y)

q = tk.Label(win, text=question)
q.place(x=img_x, y=question_y)

yes_button = tk.Button(win, text=yes)
yes_button.place(x=yes_button_x, y=button_y, width=button_width, height=button_height)

no_button=tk.Button(win, text=no)
no_button.place(x=no_button_x, y=button_y, width=button_width, height=button_height)

win.mainloop()

再修改下字体样式,我们可以把最上面的问题文本放大一些
先在开头导入font类

import tkinter.font as tkFont # 引入字体模块

然后只需要把q = tk.Label(win, text=question)这行代码改为如下(当然,你必须要确保你电脑里面有微软雅黑这个字体)

quesft = tkFont.Font(family="微软雅黑",size=16, weight=tkFont.BOLD)
q = tk.Label(win, text=question, font=quesft)

同理你也可以修改按钮里面的字体样式,我这里就不做修改了。

4 给按钮添加功能

给yes按钮添加方法

当按钮有被点击的时候
首先先弹窗回复,停顿一秒后关闭整个程序
那么我们首先在开头导入time库

import time

再在yes_button = tk.Button(win, text=yes)这行代码之前添加按钮对应的方法

# 按钮
def clickyes():
    yes_reply = "(*/ω\*)"
    top_width = 100
    top_height = 50

    top = tk.Toplevel()
    # 设置弹出窗口位置和大小
    top_x = WINX+WINWIDTH//2-top_width//2
    top_y = WINY+WINHEIGHT//2-top_height//2
    top_loc = "{}x{}+{}+{}".format(top_width, top_height, top_x, top_y)
    top.geometry(top_loc)

    # 添加内容
    tk.Label(top, text = yes_reply).pack()
    win.update()
    time.sleep(1)
    # 关闭程序
    exit()

然后再给yes按钮绑定这个方法,也就是将yes_button = tk.Button(win, text=yes)改成如下

yes_button = tk.Button(win, text=yes, command=clickyes)
给no按钮绑定方法

当对方鼠标移到没有这个按钮的时候,我们把这个按钮移开,
让对方无法点击,首先编写对应的方法对绑定上就好
代码如下(添加在win.mainloop()前面)

def mouse_in_no(event):
    bx, by= random.randint(button_width, WINWIDTH-button_width), random.randint(button_height, WINHEIGHT-button_height)
    no_button.place(x=bx, y=by)

no_button.bind("<Motion>", mouse_in_no)

此时整个整蛊弹窗就算完成了
完整代码如下

import tkinter as tk
import tkinter.font as tkFont # 引入字体模块
import time
import random

IMGPATH = "../img/001.gif"
WINWIDTH = 800
WINHEIGHT = 600
WINX = 400
WINY = 100

img_x = 180
img_y = 60

question_y = 20

button_width = 100
button_height = 40
yes_button_x = img_x - button_width // 2
no_button_x = WINWIDTH - img_x - button_width//2
button_y = 520

question = "我喜欢你,有机会吗?"
yes = "有"
no = "没有"
title = "大妹子"


# 新建无法直接关闭的TK类
class NewTk(tk.Tk):
    def destroy(self):
        # 点击界面右上角的关闭按钮时,会调用本函数,
        # 覆盖掉了父类的关闭方法,使得界面无法关闭
        pass


win = NewTk()
win.title(title)
win.geometry("%sx%s+%s+%s" % (WINWIDTH, WINHEIGHT, WINX, WINY))

photo = tk.PhotoImage(file=IMGPATH)
imgLabel = tk.Label(win, image=photo)
imgLabel.place(x=img_x, y=img_y)

quesft = tkFont.Font(family="微软雅黑", size=16, weight=tkFont.BOLD)
q = tk.Label(win, text=question, font=quesft)
q.place(x=img_x, y=question_y)


# 按钮
def clickyes():
    yes_reply = "(*/ω\*)"
    top_width = 100
    top_height = 50

    top = tk.Toplevel()
    # 设置弹出窗口位置和大小
    top_x = WINX+WINWIDTH//2-top_width//2
    top_y = WINY+WINHEIGHT//2-top_height//2
    top_loc = "{}x{}+{}+{}".format(top_width, top_height, top_x, top_y)
    top.geometry(top_loc)

    # 添加内容
    tk.Label(top, text = yes_reply).pack()
    win.update()
    time.sleep(1)
    # 关闭程序
    exit()


yes_button = tk.Button(win, text=yes, command=clickyes)
yes_button.place(x=yes_button_x, y=button_y, width=button_width, height=button_height)


no_button = tk.Button(win, text=no)
no_button.place(x=no_button_x, y=button_y, width=button_width, height=button_height)


def mouse_in_no(event):
    bx, by = random.randint(button_width, WINWIDTH-button_width), random.randint(button_height, WINHEIGHT-button_height)
    no_button.place(x=bx, y=by)

no_button.bind("<Motion>", mouse_in_no)

win.mainloop()
如何用python弹窗程序_python弹窗程序教程(附源码解析) python弹窗程序教程(附源码解析)声明此程序仅供娱乐整蛊,使用者后果自负,本人概不负责代码可能有雷同,如有侵权,请联系小编引言弹窗是程序的一种显示内容的形式,例如警告,提示等……而弹窗还有一种特殊的呈现形式–恶意程序 ,有人说不就是弹窗吗,关掉不就是了,然而恶意程序开发者可没这么想,程序的弹窗可能是这样 ​怎么样,传说中的恶意程序就是如此, 让你的电脑陷入无限的弹窗洪流。接下来,让我们进入正题... 阅读详情

相关推荐

整蛊源码小程序之tkinter界面化的弹窗项目哦~

【前文】 嗯哼 很久没出文章了到处找找学学看到个很有意思的整蛊小程序。 【附完整的代码源程序】 自己跟着做了个简单的tkinter的界面化的小弹窗程序往下看: 先康康结果:哦吼 运行一波~~ 先走99条祝天下程序员终生无BUG。 附完整代码: import tkinter as tk import random import threading import time def boom(): window = tk.Tk() width = wind...

顾木子吖的博客 1096

python tkinter使右上角‘X’失效,禁止关闭

利用python tkinter模块写的回答问题,禁止强关的小程序(任务管理器强关没有禁止) 直接附上代码 from tkinter import * import tkinter.messagebox as messagebox class Application(Frame): def __init__(self, master=None): Frame.__i...

ghfuidy的博客 1万+

python制作的五个程序,用 Python 整蛊你的朋友们吧

以下程序,不要发代码,要不实现不了你整蛊的目的。 要打包成一个 exe 程序,发给朋友才有意思。 使用 pip install pyinstaller。 打包命令如下: pyinstaller -F 文件名.py 过程中如果出现 BUG(一般是编码错误),点击导航查看解决方案 程序一 while True: n = input("猜猜我在想啥?") print("猜错喽") 你的朋友将永远无法知道你在想什么。 当然我安装 360 之后,程序没了。有兴趣研究免杀的,可以在给本文点个赞,点赞过 100,

weixin_46737755的博客 1228

(三)Python-tkinter桌面应用开发(爱心雨)

我们已经了解到tkinter可以制作爱心,弹幕,为了能让他看起来更加的充满心意,于是,我们决定将他制作为爱心雨。让它看起来更加的特别,达到特别的需求。本文主要是关于讲述了tkinter, after的用法,延伸的移动窗口的方式。这次,我们直接来实现爱心雨,让大家感受一下爱心雨的魅力。我们要让我们的爱心移动起来,达到下雨的需求。以及f(x)=kx+b ,k,b为常数。涉及的函数图像有 f(x)=a,a为常数。

大家一起学编程(python) 2881

Python整蛊代码升级版:动态弹窗+心理战+强制关机的终极恶作剧

本文详细介绍了如何利用Python编写升级版整蛊程序,通过tkinter模块实现动态弹窗效果,结合心理战引导和强制关机命令,打造终极恶作剧体验。文章从基础模块讲解到完整代码实现,并提供了打包成可执行文件的隐身技巧,强调仅在朋友间进行无害玩笑。

weixin_29032337的博客 223

OpenClaw Windows 最详细安装指南

Windows上养龙虾:OpenClaw完整安装教程+钉钉接入,助你养只大龙虾

weixin_43405859的博客 2212

tkinter界面设置

图形化界面设计(GUI) 当前流行的计算机桌面应用程序大多数为图形化用户界面(Graphic User Interface,GUI),即通过鼠标对菜单、按钮等图形化元素触发指令,并从标签、对话框等图型化显示容器中获取人机对话信息。 Python自带了tkinter 模块,实质上是一种流行的面向对象的GUI工具包 TK 的Python编程接口,提供了快速便利地创建GUI应用程序的方法。其图像化编程的基本步骤通常包括: 导入 tkinter 模块 创建 GUI 根窗体 添加人机交互控件并编写相应的函数。 在主

Aaron_liu1的博客 1117

37.华为路由器:loopback(本地回环)接口的作用

本地环回接口(或地址),亦称回送地址(loopback address)。 此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。常见于如下用途: 1 作为一台路由器的管理地址 系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为管理地址 ,管理员会使用该地址对路由器远程登录(telnet ),该地址实际上起到了类似设备名称一类的功能。 但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢 ? 原因如下:由于

迷逝 3万+

Python实现多重弹窗脚本 整蛊朋友

bat批处理的弹窗恶搞看到过了很多篇 今天来用Python实现一下弹窗恶搞 主要用的是多线程和Python的tkinterGUI实现 实现思路: 使用多线程,每个线程挂载一个tk窗口,进而实现了多重弹窗 用random库随机弹窗的位置 import tkinter as tk import random import threading import time def dow(): window = tk.Tk() window.title('你是憨憨') window.geom

Miku_wx的博客 5518

thermal系列(5)-DTSI中配置Thermal

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.youkuaiyun.com/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录thermal系列目录DTSI中配置ThermalDTSI节点类型描述CPU0的配置举例CPU核hot-plugging举例修改热缓解阈值DTSI的node中带有tracks-lowDTSI中关闭某个Thermal Zones thermal系列目录 thermal系列(1)-引言部分 thermal.

fulinux的博客 1232

黑猫带你学eMMC协议第12篇:生产状态感知(PSA)

1 概述 1.1 什么是PSA Production State Awareness (PSA) 生产状态感知 e•MMC设备可以利用其是否在生产环境中的信息,从而在现场运作时进行不同的操作。 例如,在设备低温焊接(soldering)前,将数据写入emmc,可能导致数据出错,而正在焊接期间写入数据,出错的概率可能会更大。在低温焊接之前,emmc设备可以使用一种特定的内部操作去加载内容,这样就能减少数据出错的概率,而在低温焊接后进行常规的操作就行了。 1.2 psa如何进行工作? PSA存在于emmc5.0

黑猫奥利奥的博客 4261

Python程序员都知道的5个彩蛋

程序员在大众眼中是一群智商高、情商低,少言寡语的人,这种由来已久的刻板印象源自于大众缺乏对程序员的真正了解,其实程序员和其它行业一样是个多元化的职业,也不乏幽默、高情商、口吐莲花的人。 看看开发 Python 的那帮老家伙们,时不时就在程序中加些彩蛋来娱乐普生大众,放松自我,现在就来细数一下 Python 中那些有趣的彩蛋 0. Hello World >>> impor

Python之禅 1万+

Android 12.0 SystemUI下拉状态栏定制化之隐藏下拉通知栏布局功能实现(二)

在12.0的系统定制化开发中,由于从12.0开始SystemUI下拉状态栏和11.0的变化比较大,所以可以说需要从新分析相关的SystemUI的 布局,然后做分析来实现不同的功能,今天就开始实现关于隐藏SystemUI下拉状态栏中的通知栏布局系列二,去掉下拉状态栏中 通知栏部分 白色的圆角背景

安卓兼职framework和app工程师的博客 1634

python tkinter从入门到撩妹-整蛊弹窗-S特供版

这个版本其实网上也有很多,应我的直播间盟主假爱情邀请,我这也给大家写一个 版本说明,和之前的整蛊弹窗一版本的区别就是按钮没有对应的方法变了 版本1:鼠标移到按钮没有时,直接会跑开 版本S:鼠标点击按钮没有时,切换图片进行提醒 这里为了省事,就直接在我之前的整蛊弹窗一版本的代码的基础上写吧 整蛊弹窗一版本:https://blog.youkuaiyun.com/python1639er/article/de...

大爽老师的博客 626

基于 Simulink 的双向 DC/AC 逆变器中 IGBT/MOSFET 寄生参数影响分析实战教程

摘要:本教程详细解析了Simulink中IGBT/MOSFET寄生参数对双向DC/AC逆变器的影响。通过对比理想模型与含寄生参数(如20nH内部电感、50nH回路电感)的仿真,揭示了电压尖峰、高频振荡等实际问题。建模步骤包括搭建基准电路、引入寄生参数、配置高精度求解器(步长10ns),并给出抑制措施:添加RC缓冲电路、调整驱动电阻。关键发现:寄生参数会显著增加开关损耗和EMI噪声,需通过参数扫描优化设计。教程还提供了代数环报错、仿真速度优化等实战技巧,帮助工程师从理想仿真过渡到高保真分析。

xiaoheshang_123的博客 68

S32DS S32K312 LPSPI + DMA配置异步SPI

配置DMA->Specific Configuration->Dma Logic Channel->Configuration->Global。SpiPhyUnitMapping:将该配置Mapping到某一路Spi,此工程配置为Spi1,遂选择LPSPI_1。配置的该路SPI的片选ID,此处ID对应配置Pin脚时lpspi_pcs后的下表(本工程此处为PCS3)配置该路SPI对应的SPI硬件单元ID,本工程配置为Lpspi1,因此配置为CSIB1。首先配置SPI的Pin脚,此处使用的是LPSPI_1。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 2363

python弹窗出现在最上层_愚人节整蛊—无限弹窗

四月一日愚人节又名“情人节”每年的这一天无数的单身?成群结队 互鼓士气向着各自心中那个“她”展开表白攻势战术大师小编说过愚人节表白乃不败之术也进可孤身一挑五退可坐等二十投表白成功,走上人生巅峰表白失败,祝你愚人节快乐怎么说都是一笔稳准不赔的买卖以至于可以一本正经讲假话的日子却偏偏成为了真话光明正大登场的日子话说回来,愚人节传统不能丢那就是——整蛊程序员整蛊最多的就是无限弹窗了说白了就是写...

weixin_39828338的博客 1220

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

python无限弹窗代码_python弹窗程序教程(附源码解析)

python弹窗程序教程(附源码解析)声明此程序仅供娱乐整蛊,使用者后果自负,本人概不负责代码可能有雷同,如有侵权,请联系小编引言弹窗是程序的一种显示内容的形式,例如警告,提示等……而弹窗还有一种特殊的呈现形式–恶意程序 ,有人说不就是弹窗吗,关掉不就是了,然而恶意程序开发者可没这么想,程序的弹窗可能是这样​怎么样,传说中的恶意程序就是如此, 让你的电脑陷入无限的弹窗洪流。接下来,让我们进入正题–...

weixin_31095703的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

几个可以整蛊你朋友的 Python 程序

Python 能做很多无聊,但有意思的事情,例如接下来的一些案例。以下程序,不要发代码,要不实现不了你整蛊的目的。要打包成一个exe程序,发给朋友才有意思。使用。过程中如果出现 BUG(一般是编码错误),文末有解决方案。

Trb701012的博客 1955

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

快来整蛊你的室友——超级整蛊软件

这个作品结合了三个整蛊模式,第一个整蛊:吓唬吓唬你(输入输出),第二个整蛊:半死命弹窗(弹窗),第三个整蛊:让你选择要不要关机或者无限网站。是不是这样一听你会吓得半死。确实这个小小的程序有大大的威力。可以把你室友吓得去找 “ 程序员 ” 修电脑去,所以这是一个超级整蛊软件。

pythonwyw123321的博客 9175

Python整蛊代码实战:从tkinter弹窗到系统关机命令的完整解析

在Python编程中,GUI开发和系统交互是两项重要的工程实践能力。通过tkinter库,开发者可以快速创建图形用户界面,实现弹窗、对话框等交互组件。而os与subprocess模块则提供了与操作系统深度交互的能力,允许Python脚本执行系统命令、管理进程。这些技术的核心价值在于将Python从数据处理脚本提升为能够控制计算机行为的自动化工具,广泛应用于系统管理、自动化测试和桌面应用开发。本文以趣味性的“整蛊代码”为切入点,深入解析了如何结合tkinter创建难以关闭的弹窗,并利用subprocess模块

weixin_33875564的博客 355

新手如何运用用豆包 +Trae,5 分钟搞定 Python 整蛊无限弹窗程序

豆包:全能编程助手,帮你写代码、改 bug、解释逻辑,零基础也能听懂通义千问(Trae):阿里云 AI 大模型,辅助优化代码、补充细节,双重保障代码可用Python 环境:电脑安装 Python 即可(没装的让 AI 教你一键安装)紧急通知!你的零食已被偷走🍟想要追回零食?快请我喝奶茶!

xx5201618的博客 782

Python整蛊代码实战:用tkinter制作会逃跑的弹窗(含线程控制技巧)

本文详细介绍了如何使用Python的tkinter库制作一个会'逃跑'的弹窗程序,包含线程控制技巧和智能移动策略。通过实战代码演示,读者可以学习如何创建趣味性GUI应用,同时了解多线程优化和用户体验增强的方法。

fun88的博客 376

Python恶搞代码2:“多重弹窗+线程轰炸+强制关机”终极整蛊

本文深入解析如何利用Python的tkinter、threading和os模块,打造一款集多重随机弹窗、多线程并发轰炸与强制关机于一体的终极整蛊程序。通过代码逐行讲解与高级定制方案,不仅演示了技术组合的趣味应用,更强调了在知情同意与安全边界内的娱乐用途。

table的专栏 462
上一篇: python tkinter实现俄罗斯方块基础版——四、消除与得分
下一篇: python tkinter从入门到撩妹-整蛊弹窗-S特供版
大爽歌
博客等级 码龄9年 422粉丝 92原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值