python 微信紅包


def redbags(money, num=10):
    import random
    choice = random.sample(range(1, money * 100), num - 1)
    choice.extend([0,money*100])
    choice.sort()
    return [(choice[i + 1] - choice[i]) / 100 for i in range(num)]
while True:
    money = input('請輸入你要發放的紅包金額:').strip()
    num = input('請輸入你要放的紅包數量:')
    if money.isdigit() and num.isdigit():
        money = int(money)
        num=int(num)
        if money <= 0 or num <=0:
            print('輸入金額或數量不能小於0')
            continue
        redbag = redbags(money,num)
        Max = max(redbag)
        nums = len(redbag)+1
        for index,p in enumerate(redbag,1):
            print('第%s個人獲得紅包%s元'%(index,p))
            if num == index:
                break
    else:
        print('輸入不合法')
        continue

  

 

import random
from time import sleep

# 所有涉及金額的浮點數都需要用 round 方法保留2位小數,避免出現最終結果多出0.01
amount = round(float(input('請設置紅包的金額 \> ')), 2)
num = int(input('請設置紅包的數量 \> '))
hb_dict = {}
xing = '趙錢孫李周吳鄭王'
ming = '一二三四五六七八九十'

while num:

    xingming = random.choice(xing) + random.choice(ming) + random.choice(ming)
    if xingming in hb_dict.keys():
        xingming = random.choice(xing) + random.choice(ming) + random.choice(ming)

    num -= 1
    if num == 0:
        print('%s搶到紅包%.2f元 紅包搶完了!' % (xingming, amount))
        hb_dict[amount] = xingming
        amount -= amount
    elif num > 0:
        hb = round(random.uniform(0.01, amount) / num, 2)
        hb_dict[hb] = xingming
        # 算法: 在0.01到紅包總金額之間隨機一個浮點數 / 紅包剩余個數
        print('%s搶到紅包%.2f元 剩余%d個!' % (xingming, hb, num))
        amount = round((amount - hb), 2)

    sleep(1)

# 轉置字典中的 key / value
# hb_dict2 = {value:key for key,value in hb_dict.items()}
max_hb = max(hb_dict.items())
print('%s運氣最佳 搶得%.2f元!!' % (max_hb[1], max_hb[0]))

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM