python 模擬微信搶紅包 基礎(chǔ)語法實現(xiàn)demo

1.實現(xiàn)微信搶紅包 簡易demo版 :

代碼如下:

from decimalimport Decimal

# 提供了隨機方法

import random

print('$$$$$$weichat模擬微信搶紅包$$$$')

total =input('請輸入要裝入紅包的總金額(元):')

num =input('請輸入紅包的個數(shù)(個):')

min =0.01? # 每個人最少能收到 0.01 元

# 創(chuàng)建紅包列表

money_list = []

# 轉(zhuǎn)換紅包金額為十進制 方便后期計算

total = Decimal(total)

# 轉(zhuǎn)換紅包個數(shù)為十進制 方便后期計算

num = Decimal(num)

# 轉(zhuǎn)換最小紅包數(shù)為十進制 方便后期計算

min = Decimal(str(min))

# 判斷紅包金額是否 大于每個 紅包個數(shù)*每個人最少獲得的0.01

if total > num * min:

# 根據(jù)紅包個數(shù)進行循環(huán) 重1開始 所以隨機出來的會少1個紅包

? ? for iin range(1,int(num)):

# 根據(jù)循環(huán)到的紅包個數(shù) 判斷隨機安全上限 不至于紅包沒人最少0.01

? ? ? ? safe_total = (total - (num - i) * min)

# 隨機出 獲取紅包金額

? ? ? ? temp_min = min *100? # 隨機的最小值

? ? ? ? temp_max =int(safe_total *100)# 隨機的最大值

? ? ? ? money = temp_min/100 if temp_min > temp_maxelse (Decimal(random.randint(temp_min, temp_max)))/100

? ? ? ? # 重置總金額 減去隨機出的金額

? ? ? ? total -= money

# 添加隨機出的金額到 紅包列表

? ? ? ? money_list.append(money)

#保存最后一個元素到紅包數(shù)組 不足紅包數(shù)量

? ? money_list.append(total)

# 隨機打亂列表順序

? ? random.shuffle(money_list)

for xin range(len(money_list)):# 輸出結(jié)果

? ? ? ? print('第'+str(x+1)+'個紅包:'+str(money_list[x])+'元')

2.效果圖

輸入界面:

輸入10元

? ?當(dāng)輸入的金額為0時 紅包個數(shù) 大于0時 不輸出任何內(nèi)容


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容