写个小玩意(一)- 抽奖器(随机数与定时器)

厉害了,10行代码实现抽奖助手自动参与抽奖 不知道大家用过抽奖助手小程序没?(免费给抽奖助手做个小广告),我在公众号多次用它来发过很多奖品,同时,我每天也会去参与一些抽奖,目前的中奖记录为0(尴尬脸)在助手中参与抽奖你不需要支付一分钱,但是需要花时间,想抽奖就不得不每天打开小程序逐个点击参与才能参与,每天重复的操作觉得好繁琐,于是我萌生出一个想法,用程序去自动参与抽奖。说干就干,熟悉爬虫基本原理的大概能猜出来怎么做。我们之前写过基于Pyth 阅读详情

写个小玩意(一)- 抽奖器(随机数与定时器)

写在前面: 这也许将会是一个系列,希望能够长久坚持下去,同时,作为一个初学者,我深知自己代码不精优化无力,如果各位有什么好想法/建议/批评,尽管在评论区提出来,谢谢啦。


需求

东南某高校某学院要举办迎新晚会,中间有一个抽奖环节,希望能够对在座的所有同学们抽奖,要求随机生成座位,并显示在屏幕上。

话说,,这个需求太笼统了对不对,,,我当时也是这么想的,,学生会的这些兄dei们让我有一种没有毕业就碰到程序员天敌(产品经理)的错觉。
事实证明,功能实在太简单了,没什么需求可以提,,,至少给我设计个界面嘛。

开工&踩坑

既然是一个静态页面,那么就简单的分成这么几个步骤好了:

  • 样式
  • 功能实现
    • 随机数
    • 闪烁显示效果
  • 测试

第一步,样式

先放一个body出来

随机抽奖器body
这个body看似没什么问题,但是在使用了web-font之后就尴尬了起来,后面我们进行解释

经过一番调整css,变成了这个样子(请不要在意空空如也的背景)
这里写图片描述
这个时候,,问题来了这个字体真的好丑啊!!!!!
于是,我找了酷炫的web-font,在这里特别感谢有字库,大家有需要可也以去看看
这里写图片描述
一般情况下,这个字体是需要联网使用的,我们只要在html文件中引入如下代码

<script type="text/javascript">
        $youziku.load("body", "2472a578bf1b476cab25f17391006097", "HappyZcool-2016");
        /*$youziku.load("#id1,.class1,h1", "2472a578bf1b476cab25f17391006097", "HappyZcool-2016");*/
        /*...*/
        $youziku.draw();
    </script>

当然了,不同的字体不尽相同,在这里我抖了个机灵,进入链接,直接把字体的源码copy一份下来,保存为本地文件,这样就可以不联网使用了,现在我们的页面变成了这样子~
字体美化后
这个诡异的空位和换行是什么鬼!!!!
于是问题来了,这是为什么呢?
我先后测试了不同浏览器下和不同字体下得到结论:
这个字体给空格设置了非零的内容宽度,导致它占位
(亏我还测试了各种浏览器,还调整了好久css)
这时,解决的办法就是修改一下上面的html,去掉多余的换行的空格

<div id="randSeat"><span id="row">00</span>排<span id="num">00</span>号</div>

这个效果图我们最后在放出来,下面进入功能实现。

第二步,功能

取随机座位号

大家经常用的取随机数的方法就是调用Math中的方法,假定我们想得到m~n之间的随机数,区间为 [ m, n ],我们可以用这样的方法

function getRD(m, n) {
   return Math.floor(Math.random() * (n - m + 1) + m);
}

Math.random()方法得到的是一个位于区间 [0, 1) 的小数,如果我们要获得整数只要和区间大小相乘就可以,并进行舍入处理。
同时,在Math.floor(),parseInt(),Math.ceil 中我们要进行适当的取舍,其中Math.floor(),parseInt() 是向下取整,Math.ceil 是向上取整,然后将这个值和最小值相加就能得到区间内的随机数。

// this.rowNums.min是最小行号,,,this.rowNnms.max是最大行号
// this.seatNums是保存着所有行号对应的座位号的数组
let rowNum = getRD(this.rowNnms.min,this.rowNnms.max);
let seatNum = getRD(1,this.seatNums[rowNum-2]);
闪烁显示效果

为了让随机的效果更加明显的呈现在观众的面前,我们可以在主持人喊停之前一直让数字不停的跳动,我选择的方式是不断对这个数字的DOM节点通过innerHTML 进行赋值
第一点
我们要用到setInterval()函数来实现闪烁效果,这个函数的第一个参数是要执行的函数名,第二个参数是执行这个函数的时间间隔。比如:

let sayHello = function(){
	console.log("hello");
}
let interval = setInterval(sayHello,100);//每100ms执行一次sayHello()

第二点
如果主持人想要进行多次抽奖,我们最好是能够让这个函数反复执行的过程暂停。JS中并没有直接的暂停和启动函数,只有clearInterval(interval) 来让这个周期终止,如果想要在启动周期性执行就得重新调用setInterval
因此我设置了一个flag来标记当前是调用clearInterval(interval) 还是 setInterval

if(!this.flag){
	this.interval = setInterval(this.setValue.bind(this),100);
}else{
	clearInterval(this.interval);
}
this.flag = !this.flag;

将上述内容绑定到button上即可

封装

为了以后能够重用这个定时器,我进行了粗陋的封装

// 获得随机数函数
function getRD(m,n) {
    return Math.floor(Math.random() * (n-m+1) + m);
}

class RandomSeat{
    //构造函数,对options进行拷贝
    constructor(options){
        //初始化
        this.container = options.container;     //容器
        this.seatNums = options.seatNums;       //存有座位号的数组
        this.rowNnms = options.rowNnms;         //排号范围
        this.flag = false;                      //闪烁效果启动/停止的标记
        this.interval = null;                   //setInterval返回的对象
        //创建DOM节点
        this.createEle();
        //缓存节点
        this.row = this.container.getElementsByClassName("row")[0];
        this.num = this.container.getElementsByClassName("num")[0];
        this.control = document.getElementById("control");
        //事件注册
        this.addEvent();
    }

    //获得随机的座位数
    setValue(){
        let rowNum = getRD(this.rowNnms.min,this.rowNnms.max);  //随机排号
        let seatNum = getRD(1,this.seatNums[rowNum-2]);         //随机座号
        //设置值
        this.row.innerHTML = rowNum;        
        this.num.innerHTML = seatNum;
    }

    // 创建DOM元素
    createEle(){
        this.container.innerHTML = "<div class=\"randomSeat\">\n" +
            "            <p><span class=\"row\">0</span>号<span class=\"num\">0</span>号</p>\n" +
            "\n" +
            "            <div class=\"control\">\n" +
            "                <label for=\"control\">control</label><button id=\"control\" style=\"display:none\"></button>\n" +
            "            </div>\n" +
            "        </div>";
    }

    //注册事件
    addEvent(){
        this.control.onclick = function () {
            if(!this.flag){
                this.interval = setInterval(this.setValue.bind(this),100);
            }else{
                clearInterval(this.interval);
            }
            this.flag = !this.flag;
        }.bind(this);
    }
}

使用:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div id="container">
	<!-- 随机座位号 -->
    </div>

<script>
	window.onload = function () {
	    let container= document.getElementById("container");
	
	    let options = {
	        container:container,
	        seatNums:[33,34,35,34,35,36,37,38,37,38,39,39,39,40,36,39,40,39,36,39,40,39,40,39,40,40,38],
	        rowNnms:{min:2,max:24}
	    };
	
	    let rs = new RandomSeat(options);
	};
</script>
<script src="js/randomSeat.js"></script>
</body>
</html>
MFC 随机数生成器 抽奖器 基于MFC的随机数生成器(抽奖器),设置一个随机数产生的上限,一个下限,产生一个随机数。 立即下载

相关推荐

随机抽奖工具

随机抽奖 随机排序 抽奖的同时可以显示出预先设定的问题

JS实现抽奖代码(0-999随机数开始暂停抽奖按钮)

    今天给大家说一说JS抽奖随机代码, 抽奖是从0-999的随机数,一般是设置为两个按钮,“开始抽奖”和“暂停抽奖”, 但今天只设置一个按钮,让开始抽奖和暂停抽奖按钮状态进行切换 主要是设置一个状态位,然后判断状态位的变化,进行修改其值。 &lt;html&gt; &lt;head&gt;     &lt;meta charset="UTF-8"&gt;     &lt;title...

weixin_40264260的博客 5962

随机数抽取

随机数抽取

使用timer方法生成一个定时器,每隔一段时间输出一个随机数

1:java.util.Timer类是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。 2:TimerTask类是由 Timer 安排为一次执行或重复执行的任务,因为有TimerTask类是一个抽象类,必须有其子类对其实现来完成定时任务的功能。 TimerDemo.java代码      import java.u

zhyzh134的博客 3401

随机抽奖器 做不了假的随机抽奖软件

一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。一个做不了假的随机抽奖软件,体现公平公正的抽奖环节。

随机抽奖软件

一个实用的随机抽奖软件程序,可以设置抽奖号码的范围,支持自动抽奖,每次抽奖自动保存抽奖记录,简单使用。

android随机抽奖代码_手机随机数字抽奖器APP下载-手机随机数字抽奖器最新版下载 v2.0.3安卓版-都去下载...

手机随机数字抽奖器最新版下载,这是一款非常不错的随即抽奖游戏APP,这里分享最新版的客户端APK安装包,有需要的用户欢迎下载。软件介绍在线随机数生成器,可以随机生成你设定的随机数,可以是唯一的或者重复的,可以应用于Dota2roll点器,魔兽Roll点辅助工具,抽奖等应用软件特色1.生成随机数字(整数,浮点,0/1)2.生成增强密码(A-Z,A-Z,0-9,~-?)3.生成随机骰子点数(D3,D4...

weixin_32334681的博客 3721

esp32s3 spi camera gc6133调试

gc6133 spi只有master模式,同时需要esp32提供主时钟,需要有主时钟然后才能通过i2c进行初始化.测试了几种方式,记录如下。

hclydao的专栏 1563

利用python的Tkinter搭建一个抽奖器(随机抽奖)

【代码】利用python的Tkinter搭建一个抽奖器(随机抽奖)

m0_52800267的博客 945

NVIDIA DRIVE SDK学习(二)——NvMedia

可以通过使用NvSciBuf API通过NvMedia Tensor属性分配NvSciBuf来创建NvMedia张量。由于NvSciBuf API有助于NvMedia和NVIDIA®CUDA®之间的数据共享,这使得分配的张量可以在NvSciBuf API允许的情况下重复使用。它支持图像聚合操作。NvSciSync组件使得NvMedia组件可以与其他组件保持同步,比如CUDA组件、基于NvSciSync的组件等。立体视差模式:在这种模式下,该模块通过左图像和右图像来产生立体视差,从而进行物体深度测量。

weixin_39592381的博客 3044

半导体领域知识 - 初级入门

半导体领域知识 - 初级入门 知识问答 1. 一个晶圆上根据芯片的大小,可以生产几百、几千、几万个芯片。如下图: 2. 8寸晶圆指的是什么?5nm工艺指的是什么? 8寸晶圆指的是直径为175mm(17.5cm)的晶圆,下面是6/812/18寸晶圆的尺寸以及相关发展历程。目前拥有12寸线的厂商只有5家,一个12寸晶圆厂的成本需要上百亿美金。 5nm工艺指的是在一个具体的芯片上,有很多微型结构(千万、亿级别的晶体管),这些核心基本单元MOS管的栅极宽度尺寸来衡量工艺的精细程度,如果是5nm就被称为5nm工艺

Hello World! 2万+

java九宫格抽奖代码_js轮盘抽奖实例分析

现在学习到了过渡效果了,已经开始有做动画效果的意识了,会实现一些比较炫的小玩意,一个网页加入过渡动画效果,会让人看起来很有美观,不僵硬,有看头,动画是一个网页美观的主要体现之一,下面做个使用个过渡效果实现的抽奖例子。先来效果图:这个的实现需要使用到一些js代码。所需图片:这张图是pointer.png的位置的。turntable-bg.jpg这张是背景图,在背景位置。这张是turntable.pn...

weixin_39625563的博客 246

银河麒麟桌面版V10搭建Qt4.8.6开发环境

银河麒麟桌面版V10搭建Qt4.8.6开发环境

qq_34932364的博客 2399

实例之轮盘抽奖

现在学习到了过渡效果了,已经开始有做动画效果的意识了,会实现一些比较炫的小玩意, 一个网页加入过渡动画效果,会让人看起来很有美观,不僵硬,有看头,动画是一个网页 美观的主要体现之一,下面做个使用个过渡效果实现的抽奖例子。 先来效果图: 这个的实现需要使用到一些js代码。 所需图片: 这张图是pointer.png的位置的。 turntable-bg.jpg这张是背...

weixin_30780649的博客 191

SAP接口错误查询日志

随着数字经济的迅速发展,企业数字化转型不在只追求“业财一体化”,而是在业务端也想要进行更为精细化的管理,所以很多企业在SAP ERP的基础上,集成更多垂直领域更精细的外围系统,比如销售CRM系统,采购SRM系统,生产MES系统等等,琳琅满目的产品,那对SAP实施来说,系统集成过程中,接口的一些报错查询能力必不可少,今天我们就介绍一下,SAP和CRM系统集成中接口常见的报错。

weixin_43657667的博客 2047

YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制

Hello,各位读者们好,本专栏自开设两个月以来已经更新改进教程120+余篇其中包含C2f、主干、检测头、注意力机制、Neck多种结构上创新,也有损失函数和一些细节点上的创新,订阅本专栏以后你不仅可以收获跟专栏的阅读权限,同时可以进Qq群,里面包含集成我所有创新的YOLO最新目录,和我本人录制的视频讲解教程,如果你想要在YOLOv8系列收获一篇论文,我相信订阅本专栏后你一定会有所收获~YOLOv8改进有效系列目录。

Snu77的博客 18万+

20多个抽奖js源码收集

  js大富翁抽奖游戏源码     jQueryRotate圆盘抽奖插件 jQueryRotate圆盘抽奖插件   其他27款js抽奖插件下载

cbx123的博客 9390

FPGA电路设计2——芯片原理图绘制

FPGA板卡设计要点:1. 引脚分配遵循电平标准分组原则,需通过预编译验证;2. 电源设计需满足上电时序要求并合理估算功耗;3. 最小系统包含配置Bank(Bank0)、通用I/O Bank(HRBank)、高性能Bank(HPBank)和高速收发器Bank(MGT/GTX)。其中Bank0负责关键配置功能,包括模式选择(支持SPI/BPI/JTAG等5种配置方式)、JTAG调试接口和系统监控引脚,其电压选择(CFGBVS_0)必须与VCCO_0电压匹配。

在读研究生,FPGA电路设计与功能开发。 1236

【亲测免费】 推荐项目:随机姓名抽取器 - 简易幸运抽奖工具

![Random Name Picker Logo](./logo.svg) 在寻找一个简单而高效的方式来决定你的下一次活动的幸运儿吗?**Random Name Picker** 正是为此而来。这款基于HTML5开发的小工具,巧妙地利用Web Animations API和AudioContext API,为抽奖过程添加了趣味性和互动性。 ## 项目介绍 **Random Name Pic...

gitblog_01105的博客 1471

大模型技术全景与核心概念解析:从基础原理到AI智能体架构(实时更新中)

本文系统解析了大模型技术的核心概念与架构。首先介绍了LLM(大语言模型)、LLMOps(模型运维)、AIGC(生成内容)、AGI(通用AI)等基础概念,重点阐述了大模型的工作原理,包括预处理、推理和后处理三个阶段。深入讲解了Token分词、FLOPs计算、Embedding向量表示等关键技术,并分析了LoRA微调、MoE架构等前沿方法。文章还探讨了AI智能体的发展前景,为理解大模型技术提供了全景视角。

算法工程师 1227

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Js 中的定时器

定时器

weixin_41806264的博客 2万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用js定时器实现 随机点名

话不多说,先来看看效果:首先还是要先理清思路,随机点名是当你点击开始按钮的时候,开始出现名字,点击暂停,就停止。这里需要用到的技术有HTML、CSS、js。

m0_61480985的博客 1408

深度学习工具包 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")

计数器函数-注册倒计时

1.注册按钮倒计时 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &

qq_45579661的博客 628

手机随机数字抽奖器_用Excel制作随机抽奖器,只需2步轻松搞定

效果演示按住F9键不松,即可开始抽奖,松开后会随机显示一个号码。前期准备在制作抽奖器之前,大家要先录入好抽奖名单。如下图所示,这里我选择录入的是手机号码。当然,你也可以选择录入人员姓名或其他号码。然后在边合并几个单元格,当作是显示中间号码的位置。制作这些没什么技巧而言,我就不多演示了。开始制作1、在“中奖号码”下面单元格中输入公式「=INDEX(A:A,RANDBETWEEN(2,17))」。说明...

weixin_39690401的博客 5195

运用js dom实现员工抽奖

简单的员工抽奖系统(js实现)

qq_45750632的博客 804
上一篇: ES6 Map类型
下一篇: 表单验证失败阻止提交
Raaabbit
博客等级 码龄9年 47粉丝 75原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值