[英]go back to a for loop from an if loop in python
該函數應該加載列表並打印列表中第一個和最后一個素數的和。 我已經編寫了它,以便創建一個新列表,並且只添加了質數的想法-如果它不是質數,則應回到for循環的開頭。 我希望我的函數在之后返回到for循環的開頭
if L[i] % j == 0:
因為我只希望將質數附加到y,但是我不認為'break'在這里是正確的選擇,因為當我調用該函數時,我一直在打印整個列表。 我已經嘗試過“ break”,“ pass”,“ continue”和無限循環(盡管我可能沒有正確完成)。 請幫忙???
def first_plus_last_prime(L):
y = []
for i in range(len(L)):
if L[i] < 2:
break
for j in range(2, L[i]):
if L[i] % j == 0:
break
y.append(L[i])
print(y)
print(y[0])
print(y[-1])
t = y[0] + y[-1]
return t
您可以使用else語句:
def first_plus_last_prime(L):
y = []
for i in range(len(L)):
if L[i] < 2:
break
# Look for prime
for j in range(2, L[i]):
if L[i] % j == 0:
break
else:
y.append(L[i])
print(y)
print(y[0])
print(y[-1])
t = y[0] + y[-1]
return t
感謝@UlrichEckhardt提供的信息。 https://docs.python.org/3/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.