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

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

如何在python中迭代條件檢查?

如何在python中迭代條件檢查?

開(kāi)心每一天1111 2021-08-14 17:04:18
以下函數(shù)為我提供了正確的結(jié)果。但是對(duì)于大量的q來(lái)說(shuō),這個(gè)程序就很難處理了。所以,我想通過(guò)循環(huán)或其他方式迭代 q。我怎樣才能做到這一點(diǎn)?def sgf(a): # here a is a list of two numbers    import random    a2=random.randint(1,1068)    p=1069    q1=(a[0]+a[1]*1+a2*1**2)%p    q2=(a[0]+a[1]*2+a2*2**2)%p    q3=(a[0]+a[1]*3+a2*3**2)%p    q4=(a[0]+a[1]*4+a2*4**2)%p    q5=(a[0]+a[1]*5+a2*5**2)%p    q6=(a[0]+a[1]*6+a2*6**2)%p    q7=(a[0]+a[1]*7+a2*7**2)%p    q8=(a[0]+a[1]*8+a2*8**2)%p    q9=(a[0]+a[1]*9+a2*9**2)%p    while ((q1>1060) or (q2>1060) or (q3>1060) or (q4>1060) or (q5>1060) or (q6>1060) or (q7>1060) or (q8>1060) or (q9>1060)):        a2=random.randint(1,1068)        q1=(a[0]+a[1]*1+a2*1**2)%p        q2=(a[0]+a[1]*2+a2*2**2)%p        q3=(a[0]+a[1]*3+a2*3**2)%p        q4=(a[0]+a[1]*4+a2*4**2)%p        q5=(a[0]+a[1]*5+a2*5**2)%p        q6=(a[0]+a[1]*6+a2*6**2)%p        q7=(a[0]+a[1]*7+a2*7**2)%p        q8=(a[0]+a[1]*8+a2*8**2)%p        q9=(a[0]+a[1]*9+a2*9**2)%p        if ((q1<=1060) and (q2<=1060) and (q3<=1060) and (q4<=1060) and (q5<=1060) and (q6<=1060) and (q7<=1060) and (q8<=1060) and (q9<=1060)):            break      return q1,q2,q3,q4,q5,q6,q7,q8,q9為簡(jiǎn)單起見(jiàn),f(x)=(a0+a1*x+a2*x**2)%p其中 a0,a1 在 [0,1060] 中,a2 從 [0,1068] 中隨機(jī)選擇,如果全部為f(x)<=1060,則接受 f(x) 否則重新生成 f(x)
查看完整描述

3 回答

?
蕭十郎

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

您q可能應(yīng)該是一個(gè)列表。這樣你就可以使用for循環(huán)range來(lái)執(zhí)行你的計(jì)算:


for ind in range(len(q)):

    q[ind]=(a[0]+a[1]*(ind + 1)+a2*(ind + 1)**2)%p

您也可以將您的條件表示為迭代,但最簡(jiǎn)單的方法可能是使用該any函數(shù)并將您的條件編寫為生成器:


while any(qx > 1060 for qx in q):


查看完整回答
反對(duì) 回復(fù) 2021-08-14
?
叮當(dāng)貓咪

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

def sgf(a):

    import random

    a2=random.randint(1,1068)

    p=1069

    items = []

    # if items is empty, or any element is greater than 1060, keep looping

    while not items or any(item > 1060 for item in items):

        items = [(a[0]+a[1]*i+a2*i**2)%p for i in range(1,10)]

    return items


查看完整回答
反對(duì) 回復(fù) 2021-08-14
  • 3 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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