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