sdut-fun-奇数数字之和(II) 分数 5 作者 周雪芹 单位 山东理工大学 题目要求: 输入n个数字,求出所有奇数的和并输出。 输入格式: 多组输入。 每组输入数据有若干个数,每个数字的绝对值不会超过100. 输出格式: 对于每组输入,输出所求得的奇数之和。 输入样例: 1 2 3 1 2 3 4 5 输出样例: 4 9 程序代码: #定义函数fun,返回x是否为奇数 while True: try: m= (int,input().split()) #获取从键盘得到的整数集合m f1= (fun,m) #将定义的函数fun,应用到整数集合m的每一个数值之后,得到奇数集合对象f1 print( (f1)) #对奇数集合对象f1的数值求和,并输出 except: break
时间: 2024-03-25 21:38:49 浏览: 200
下面是题目代码的完整实现:
```python
# 定义一个函数,用于判断一个数是否为奇数
def is_odd(x):
return x % 2 == 1
# 不断读入数据,直到读取到无法解析的数据为止
while True:
try:
# 获取输入的整数集合
nums = list(map(int, input().split()))
# 过滤出所有的奇数
odds = filter(is_odd, nums)
# 计算奇数之和,并输出结果
odd_sum = sum(odds)
print(odd_sum)
except:
break
```
在这个程序中,我们定义了一个函数 `is_odd`,用于判断一个数是否为奇数。这个函数接受一个参数 `x`,表示要判断的数,它先计算 `x % 2`,即 `x` 除以 2 的余数,然后判断余数是否等于 1。如果等于 1,说明 `x` 是一个奇数,返回 True;否则返回 False。
在读入数据时,我们使用 `map` 函数将输入的字符串转换成整数集合,并将这个集合中的每一个元素应用到 `is_odd` 函数中进行过滤,得到所有的奇数集合。然后,我们使用 `sum` 函数对这个奇数集合进行求和,并将结果打印出来。
程序使用了 `try-except` 语句,以避免在读取数据时遇到无法解析的数据而导致程序崩溃。当读取到无法解析的数据时,程序会跳出循环并结束运行。
希望这个程序能够帮助你解决问题!
阅读全文