我需要幫助處理執行以下操作的 python 程式(需要一個串列):
有人可以幫幫我嗎!將不勝感激!
uj5u.com熱心網友回復:
將每個輸入附加到串列中,并使用[-3:]切片獲取最后 3 個元素。
>>> nums = []
>>> while True:
... nums.append(int(input("Enter a number: ")))
... print(f"Your last 3 inputs sum to {sum(nums[-3:])}")
...
Enter a number: 1
Your last 3 inputs sum to 1
Enter a number: 2
Your last 3 inputs sum to 3
Enter a number: 3
Your last 3 inputs sum to 6
Enter a number: 4
Your last 3 inputs sum to 9
Enter a number: 0
Your last 3 inputs sum to 7
Enter a number: 0
Your last 3 inputs sum to 4
Enter a number: 0
Your last 3 inputs sum to 0
Enter a number: 5
Your last 3 inputs sum to 5
Enter a number: 5
Your last 3 inputs sum to 10
uj5u.com熱心網友回復:
你可以使用一個collections.deque:
from collections import deque
last3 = deque(maxlen=3)
while True:
num = int(input('Enter a number: '))
last3.append(num)
print(f'Your last 3 inputs sum to {sum(last3)}')
Enter a number: 1
Your last 3 inputs sum to 1
Enter a number: 2
Your last 3 inputs sum to 3
Enter a number: 3
Your last 3 inputs sum to 6
Enter a number: 4
Your last 3 inputs sum to 9
Enter a number: 0
Your last 3 inputs sum to 7
Enter a number: 0
Your last 3 inputs sum to 4
Enter a number: 0
Your last 3 inputs sum to 0
Enter a number: 5
Your last 3 inputs sum to 5
Enter a number: 5
Your last 3 inputs sum to 10
不使用deque:
last3 = [int(input('Enter a number: '))]
while True:
print(f'Your last 3 inputs sum to {sum(last3)}')
last3.append(int(input('Enter a number: ')))
del last3[:-3]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/361624.html
標籤:Python
