問答題
kh06_04 : 有 n 個整數,使前面各數順序向后移動 m 個位置,最后的 m 個數變成最前面的 m 個數。寫一個函數實現上述功能,在主函數中輸入 n 個整數,并輸出調整后的 n 個整數
答案:
以下是一個用Python編寫的程序,其中包含一個名為`rotate_list`的函數,該函數可以實現將列表中的元素向后移動`m`個位置的功能。然后在主函數中,我們將讀取用戶輸入的整數數量`n`和移動的位置數`m`,接著讀取`n`個整數,并使用`rotate_list`函數來調整這些整數的位置,最后輸出調整后的整數列表。
```python
def rotate_list(lst, m):
"""
將列表lst中的元素向后移動m個位置。
"""
n = len(lst)
m = m % n # 如果移動的位置數大于列表長度,則取余數
return lst[-m:] + lst[:-m]
def main():
# 輸入整數的數量
n = int(input("請輸入整數的數量 n: "))
# 輸入移動的位置數
m = int(input("請輸入移動的位置數 m: "))
# 輸入n個整數
numbers = []
print(f"請輸入{n}個整數:")
for i in range(n):
numbers.append(int(input()))
# 調用函數進行移動
rotated_numbers = rotate_list(numbers, m)
# 輸出調整后的整數列表
print("調整后的整數列表:")
for number in rotated_numbers:
print(number, end=' ')
if __name__ == "__main__":
main()
```
當你運行這個程序時,它會提示你輸入整數的數量`n`和移動的位置數`m`,然后輸入`n`個整數。之后,程序會輸出調整后的整數列表。