隨機(jī)抽獎(jiǎng)代碼(隨機(jī)抽獎(jiǎng)程序代碼)
1、我用多線程寫的,你可以參考下系統(tǒng)界面圖如下注重置功能為清除已經(jīng)中獎(jiǎng)號(hào)碼,回歸1100都可以中獎(jiǎng)狀態(tài)代碼public partial class Form1 Form public Form1 InitializeComponent g_Thread = null Listltint g_list = new;完全可以,寫一個(gè)隨機(jī)抽取110之間的任意一個(gè)數(shù),按Enter顯示請(qǐng)用VB創(chuàng)建一個(gè)標(biāo)準(zhǔn)EXE,在窗體上添加一個(gè) Label 和 一個(gè) Timer 控件,然后,右鍵窗體查看代碼,粘貼以下代碼即可運(yùn)行Private Sub Form_KeyPressKeyAscii As IntegerIf KeyAscii = 13 Then Timer1Enabled = False End Sub Private;創(chuàng)建一個(gè)VBVisual Basic抽獎(jiǎng)小程序,可以在1到1000之間的任意一個(gè)數(shù)字中隨機(jī)抽取這個(gè)程序的核心在于使用VB的Rnd函數(shù),它生成一個(gè)0到1之間的隨機(jī)數(shù)在本例中,我們通過(guò)乘以1000并取整數(shù)部分,將這個(gè)范圍擴(kuò)大到1到1000具體代碼如下Private Sub Command1_Click Label1 = quotquot Label1 = 1 +;然后,從排序后的號(hào)碼列表中選取前N個(gè)號(hào)碼,這些號(hào)碼將被顯示在屏幕上這一步驟可以通過(guò)編寫一段程序代碼來(lái)實(shí)現(xiàn),比如使用Python的SQLAlchemy庫(kù)來(lái)連接數(shù)據(jù)庫(kù),然后執(zhí)行相應(yīng)的查詢命令獲取所需的數(shù)據(jù)為了確保隨機(jī)抽取的過(guò)程在設(shè)定的時(shí)間或按鍵輸入后停止,可以設(shè)置一個(gè)定時(shí)器,或者在每次隨機(jī)抽取之間加入按鍵;5點(diǎn)擊“命令按鈕CommandButton1”右擊鼠標(biāo),選“屬性”,將CommandButton1的Caption屬性設(shè)置為quot抽獎(jiǎng)開(kāi)始quot,再如此方法,將Label1的Caption屬性設(shè)置為空白當(dāng)然在屬性中還可以設(shè)置字體顏色等等6點(diǎn)擊在CommandButton1控件上右擊,選“查看代碼”,進(jìn)入Visual Basic界面,編寫代碼Private Sub Command。
2、設(shè)置抽獎(jiǎng)按鈕,插入橫排文本框,輸入文字,調(diào)整字體顏色字號(hào)及樣式,并確保文本框透明制作顯示窗口,插入橫向文本框,輸入公式=$A$2,設(shè)置字體顏色字號(hào)加粗及去除邊框和背景色編寫VBA代碼,打開(kāi)“開(kāi)發(fā)工具”,在代碼窗口輸入以下三段代碼在抽獎(jiǎng)按鈕處,右擊文本框并指定宏命令,分別對(duì)應(yīng)每一;添加一個(gè)ActiveX控件,然后雙擊進(jìn)入VBA代碼編輯界面,粘貼下面的代碼點(diǎn)按鈕會(huì)在A1單元格顯示1100內(nèi)的隨機(jī)數(shù)代碼Dim k As BooleanPrivate Sub CommandButton1_MouseUpByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single;\nquotscanfquot%dquot,noret=rand%10printfquot本次開(kāi)獎(jiǎng)結(jié)果=%d\nquot,retifno==retprintfquot恭喜你猜中了,中獎(jiǎng)10元\nquotelseprintfquot很遺憾,再來(lái)一次吧\nquotreturn 0 可以把上面代碼改成多次輸入,即將輸入和取隨機(jī)數(shù)都放在while循環(huán)中自己修改下吧;稍等,我給我寫一個(gè) sheet1表A列為姓名列不限定人數(shù),sheet2表的B2輸入需要抽取的人數(shù),如果大于名單人數(shù),會(huì)提示超出并停止運(yùn)行,否則在D列列出抽中名單不重復(fù),數(shù)組與字典相結(jié)合的方法完成;第二步編寫代碼在工作表下面的標(biāo)簽上點(diǎn)鼠標(biāo)右鍵,選“查看代碼”,調(diào)出VBA窗口,把下面代碼復(fù)制進(jìn)去就行了Dim a As Integer #39定義公共變量 Private Declare Sub Sleep Lib #34kernel32#34 ByVal dwMilliseconds As Long Sub 隨機(jī) Dim x As Integer Dim y As Integer a = 0;let源=ExcelCurrentWorkbookName=quot表1quotContent,隨機(jī)值列=TableBufferTableAddColumn源,quotaquot,eachNumberRandom,結(jié)果=TableSelectColumnsTableFirstNTableSort隨機(jī)值列,quotaquot,4,quot姓名quotin結(jié)果3,VBA解使用了洗牌法,參考代碼如下代碼解析見(jiàn)注釋SubByVBADimr,i,t。
3、private void timer1_Tickobject sender, EventArgs e 加原子鎖,由于隨機(jī)可能時(shí)間過(guò)長(zhǎng),造成多線程進(jìn)入,污染DBList對(duì)象 if InterlockedExchangeref inTimer, 1 == 0 Random rand = new Random 隨機(jī)器 int nums = 0 do nums = randNext1。
4、源代碼注意源代碼的縮進(jìn)用python輸入一個(gè)1100之間的數(shù),利用隨機(jī)數(shù)中的方法判斷是否中獎(jiǎng)importrandom n=intinput#39請(qǐng)輸入一個(gè)1100之間的數(shù)#39ifn==randomrandint1,100print#39你中獎(jiǎng)啦#39elseprint#39不好意思,你沒(méi)中獎(jiǎng)#39網(wǎng)頁(yè)數(shù)據(jù)抓取010608 020811 03;隨后,程序會(huì)根據(jù)用戶設(shè)定的中獎(jiǎng)概率來(lái)判斷是否中獎(jiǎng)假設(shè)用戶設(shè)定的中獎(jiǎng)概率是10%,這意味著在10次抽獎(jiǎng)中,大約有1次能中獎(jiǎng)因此,我們可以生成一個(gè)0至9的隨機(jī)數(shù),如果這個(gè)數(shù)是0,則視為中獎(jiǎng)代碼示例如下```javascript var probability = 10 中獎(jiǎng)概率設(shè)置為10 var randomNum =;這很簡(jiǎn)單 你先加入一個(gè)隱藏的listbox,并插入電話號(hào)碼 先設(shè)置一個(gè)全局變量如 dim isStop as boolean = false 當(dāng)點(diǎn)擊打入電話時(shí),隨機(jī)選定一行記錄,當(dāng)點(diǎn)擊開(kāi)始時(shí)可將當(dāng)前選定的記錄依次下移或上移同意要測(cè)試,isStop是否為真,為真則停止 當(dāng)點(diǎn)擊停止時(shí),設(shè)置isStop為真 這樣就行了。
5、人員名單準(zhǔn)備插頁(yè)1Sheet1為抽獎(jiǎng)系統(tǒng)界面,插頁(yè)2人員名單列表為員工名單存放列輸入代碼一共輸入三段代碼第一段第二段第三段指定控件回到插頁(yè)系統(tǒng)界面,依次選中控件,右鍵選擇指定宏,依次選擇對(duì)應(yīng)的宏,自此,程序完成程序運(yùn)行點(diǎn)擊開(kāi)始按鈕,即可進(jìn)行抽獎(jiǎng)完整代碼Dim flag Sub。
6、var num = MathfloorMathrandom * 101這段代碼會(huì)生成一個(gè)0100之間的隨機(jī)整數(shù),并且將它賦值給變量num接下來(lái),我們需要根據(jù)中獎(jiǎng)概率來(lái)判斷是否中獎(jiǎng)假設(shè)我們?cè)O(shè)置的中獎(jiǎng)概率是10%,那么就相當(dāng)于每10次抽獎(jiǎng)中,只有1次能中獎(jiǎng)因此,我們可以生成一個(gè)09之間的隨機(jī)數(shù),如果這個(gè)隨機(jī)數(shù)等于0。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。