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