用python实现从键盘输入一个整数n,定义一个数组arr,长度为n,从键盘输入n个整数,存入数姐arr中,输入一个整数m,将数组arr中与m相同或是m的倍数的数删除,输出删除后的数组的所有元素。
时间: 2024-10-25 18:17:48 浏览: 34
C++两个一维数组相加求和
在Python中,你可以按照以下步骤实现这个功能:
```python
def input_and_filter(n):
# 定义空数组 arr
arr = []
# 输入 n 个整数并添加到数组中
for i in range(n):
num = int(input(f"请输入第{i+1}个整数: "))
arr.append(num)
# 输入 m 并计算与 m 相同或其倍数的索引
m = int(input("请输入一个整数 m: "))
indices_to_remove = [i for i, x in enumerate(arr) if x == m or x % m == 0]
# 删除数组中指定的元素
for index in sorted(indices_to_remove, reverse=True): # 从大到小排序避免影响后续元素的索引
del arr[index]
# 输出删除后的数组
print("删除后的数组: ", arr)
# 调用函数
input_and_filter(int(input("请输入数组的长度 n: ")))
```
在这个代码中,我们首先获取用户输入的数组长度 `n` 和需要比较的数字 `m`。然后通过列表推导式找到所有需要删除的元素的索引,并按照降序保存以便于不影响其他元素的位置。最后,删除这些元素并将结果输出。
阅读全文