第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何生成一個(gè)不是2的冪的隨機(jī)數(shù)?輸出需要是 8 個(gè)隨機(jī)數(shù)的列表

如何生成一個(gè)不是2的冪的隨機(jī)數(shù)?輸出需要是 8 個(gè)隨機(jī)數(shù)的列表

絕地?zé)o雙 2022-07-05 16:55:22
在python中,如何生成一個(gè)不是2的冪的隨機(jī)數(shù)?輸出需要是 8 個(gè)隨機(jī)數(shù)的列表。這應(yīng)該在 python 中的單個(gè)語句(理解風(fēng)格)中完成。
查看完整描述

2 回答

?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

試試下面的代碼,


def is_power_of_two (x): 

    return (x and (not(x & (x - 1))) )


def get_random(start, stop):

    while True:

        value = random.randint(start, stop)

        if not is_power_of_two(value):

            return value


    return [i for i in range(limit) if not is_power_of_two(i)]


result = [get_random(0, 10000000000) for _ in range(8)]


查看完整回答
反對 回復(fù) 2022-07-05
?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

在這種情況下,生成器會(huì)派上用場。編寫一個(gè)帶有無限循環(huán)的函數(shù),該函數(shù)返回滿足您條件的隨機(jī)數(shù),然后yield在調(diào)用該函數(shù)時(shí)使用語句一次返回一個(gè)這些值。


這是一個(gè)例子。我添加了一些代碼來檢查輸入?yún)?shù),以確保在給定范圍內(nèi)有有效的結(jié)果。


def random_not_power_of_2(rmin, rmax):

    # Returns a random number r such that rmin <= r < rmax,

    # and r is not a power of 2

    from random import randint

    # Sanity check

    if rmin < 0:

        raise ValueError("rmin must be non-negative")

    if rmax <= rmin:

        raise ValueError("rmax must be greater than rmin")

    # Abort if the given range contains no valid numbers

    r = rmin

    isValid = False

    while r < rmax:

        if r == 0 or (r & (r-1) > 0):

            isValid = True

            break

        r += 1

    if not isValid:

        raise ValueError("no valid numbers in this range")

    while True:

        r = randint(rmin, rmax)

        if r == 0 or (r & (r-1) > 0):

            yield r


def get_random_list(rmin, rmax, n):

    # Returns a list of n random numbers in the given range

    gen = random_not_power_of_2(rmin, rmax)

    return [next(gen) for i in range(n)]


get_random_list(0,17,10)


查看完整回答
反對 回復(fù) 2022-07-05
  • 2 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)