在Python中输出一个整数数列中不与整数m相同的数字之和。 输入分为三行:
第一行为N(N为接下来数的个数,N<= 100)第二行为N个整数,数与数之间以一个空格分开第三行为1个整数m,表示要比较的数
输出为N个数中不与m相同的数字之和。
N = int(input())
arr = list(map(int, input().split(' ')))
M = int(input())
if M != len(arr):
print("数字个数不对")
result = sum(filter(lambda x: x != M, arr))
print(result)
根据题目的意思,应该是不需要对第二行输入的数的个数进行判断,如果一定要判断只获取输入的前N个数,可以使用一个for循环来进行判断。
代码如下:
参考链接:
N=int(input()) # 获取N的值
nums = [] # 存储N个整数的列表
# https://blog.csdn.net/u013595395/article/details/88425996
# 从输入获取一行整数输入,并将其转为整数后,存入列表list1
list1 = p=[int(i) for i in input().split(' ')]
# https://blog.csdn.net/weixin_43353524/article/details/98873705
# 根据题目意思,应该不需要对第二行输入的整数的个数进行判断
# 如果一定要判断下,只获取前N个整数,可以使用下面的代码进行获取前N个整数
for i in range(N):
nums.append(list1[i])
# 获取m的值
m = int(input())
# 计算列表nums中,不与m的值相同的元素的和
# 如果上面那个for循环不使用,下面的nums改为list1
numbersum=0
for i in nums:
if i !=m:
numbersum+=i
# 打印结果
print(numbersum)
【以下回答由 GPT 生成】
首先,我们可以使用input函数来获取输入数据。然后使用split方法将第二行的数字拆分成单个数字,并将其转换为整数类型。同时将第三行的数字m也转换为整数类型。
接下来,我们可以使用一个循环遍历第二行的每个数字。如果当前数字与m不相同,则将其加到一个累加变量中。
最后,我们可以输出累加变量的值作为结果。
下面是具体的解决方案的代码实现:
N = int(input("请输入整数个数N: "))
numbers = input("请输入N个整数(以空格分隔): ").split()
m = int(input("请输入要比较的整数m: "))
sum_of_different_numbers = 0
for num in numbers:
if int(num) != m:
sum_of_different_numbers += int(num)
print("与m不相同的数字之和为:", sum_of_different_numbers)
请注意,以上代码假设输入都是有效的,即输入的数字个数和实际的数字个数相符且合法,输入的整数以空格分隔,并且与整数m之间没有其他字符或空格。如果输入的数据不符合要求,代码可能会出错。
如果你需要再次运行程序,你可以将以上代码保存为一个Python脚本文件(.py),然后在命令行中运行。程序会提示你输入相应的值。
【相关推荐】
代码如下:
# N个数 小于等于100
N = int(input())
if N <= 100:
val_arr = list(map(int, input().split(' ')))
if N != len(val_arr):
print("数字个数不对")
else:
# 待比较的数据
m = int(input())
result = sum([i for i in val_arr if i != m])
print(result)
else:
print(f"{N} 已超过100, 先限制在2-100之间.")