返回數組中的數字總和,忽略6到7之間的數字部分(每6個數字後面至少有一個7)。沒有號碼返回0。代碼通過了所有測試,但在其他測試中失敗..請按照鏈接
sum67([1, 2, 2]) → 5
sum67([1, 2, 2, 6, 99, 99, 7]) → 5
sum67([1, 1, 6, 7, 2]) → 4
我的代碼:
def sum67(nums):
total = 0
n = 0
while(n < len(nums)):
if nums[n] == 6:
while(nums[n] != 7 and n < len(nums)):
n += 1
n += 1
if n > len(nums)-1:
break
total += nums[n]
n += 1
return total
的條件的順序需要進行的改變:除了具有多循環和更新循環計數器自己,你可以只遍歷號的列表上,並有額外的變量有說服力,如果你需要跳過他們與否跟隨'while(nums [n]!= 7和n
niemmi
@niemmi「每6個會跟着至少一個7」 –
你是絕對正確的,我完全錯過了。在這種情況下,根本不需要第二個條件'n
niemmi