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):

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
添加回答
舉報(bào)