91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

模擬紅包

發布時間:2020-07-21 07:49:56 來源:網絡 閱讀:278 作者:even_07 欄目:編程語言
import random

def func_word():      # 紅包留言模塊,
    user=input('恭喜發財,大吉大利')
    def leave_word(word='  恭喜發財,大吉大利  '):
        print('-' * 15)
        print('\033[31;0m %s \033[0m' %word)
        print('-' * 15)
    if user=='':
        leave_word()
    else:
        leave_word(word=user)

def rob_func(lst):  # 搶紅包模塊
    def rob(lst):
        for i in lst:
            yield i

    obj = rob(lst)
    try:
        while True:
            user_o = input('>>>')
            if user_o == ' ':
                print('紅包:\033[31;0m %s\033[0m 元' % (obj.__next__()))
    except StopIteration:
        print('\033[31;0m 你來晚啦 \033[0m')

def ran():  # 隨機紅包模塊
    while True:
        money = float(input('>>>總金額 '))
        if money < 0.01:
            print('紅包金額應大于0.01')
        else:
            break
    while True:
        numbers = int(input('   紅包個數 '))  # 異常化處理
        if numbers * 0.01 > money:
            print('單個紅包必須大與0.01')
        else:
            break

    # 產生隨機的紅包值  (怎樣能夠盡量的隨機化呢   產生的紅包有個特別大的,不合理,錢越大越明顯)
    lst = []
    for i in range(numbers - 1):  # 直接money這樣的算法第一個搶的一定是最大的紅包,但微信不是這樣的
        res = round(random.uniform(0, money / (numbers - i)), 2)  # money/2這樣的算法是不是也有的規律呢,不行這樣的話,出現的錯誤更多
        lst.append(res)  # 這個算法里有一個不正常的數
        money -= res
    lst.append(round(money, 2))
    random.shuffle(lst)
    func_word()
    rob_func(lst)

def ord():  # 普通紅包模塊   (基本能夠按照預想的實現)
    while True:
        money = float(input('>>>單個金額 '))
        if money < 0.01:
            print('紅包金額應大于0.01')
        else:
            break
    numbers = int(input('紅包個數 '))  # 這里可以加入一個異常化處理,可以只給用戶一個輸入數字的鍵盤,這是如何實現的
    lst = []
    for i in range(numbers):
        lst.append(money)
    func_word()
    rob_func(lst)

def red_packet():    #  紅包的選擇模塊
    lst = ['隨機紅包', '普通紅包']
    for i in enumerate(lst, 1):
        print(i[0], i[1])
    while True:
        try:  # 這里可以加入一個異常處理,但是微信上是不會讓你輸數字以外的
            num = int(input('>>>>'))
            print('-' * 10)
            print(lst[num - 1])
            print('-' * 10)
            break
        except IndexError:
            print('你輸入的數不對')
        except ValueError:
            print('請輸入數字')
        except Exception:
            print('請重新輸入')
    if num == 1:
        ran()
    if num == 2:
        ord()

red_packet()

存在的問題
想不到怎樣產生一組合理的隨機數,上面提到的會有特別明顯的一紅包產生的是特別的大,并且總的金額數越大越明顯,(請教^-^)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼勒克县| 教育| 延川县| 连平县| 西青区| 永嘉县| 深州市| 阿合奇县| 扬中市| 静安区| 岗巴县| 琼海市| 阳城县| 遂溪县| 榆中县| 九龙县| 左权县| 淮北市| 铜梁县| 留坝县| 阿坝| 定兴县| 乌拉特中旗| 德江县| 富裕县| 汕尾市| 南陵县| 旌德县| 微博| 平顺县| 耿马| 富宁县| 城固县| 马山县| 门源| 阜南县| 辉南县| 博客| 常宁市| 靖江市| 错那县|