输入一批正整数(以零或负数为结束标志),求其中的奇数和。要求定义和调用函数 even(n) 判断数的奇偶性,当 n 为偶数时返回 1,否则返回 0。试编写相应程序。
时间: 2023-05-31 16:19:25 浏览: 837
python 给你一个正整数列表 L, 判断列表内所有数字乘积的最后一个非零数字的奇偶性。如果为奇数输出1,偶数则输出0。
5星 · 资源好评率100%
### 回答1:
好的,以下是程序的中文描述:
1. 定义函数 even(n),判断数的奇偶性,当 n 为偶数时返回 1,否则返回 0。
2. 输入一批正整数,以零或负数为结束标志。
3. 对于每个输入的数,判断其奇偶性,如果是奇数,则将其加入奇数和中。
4. 输出奇数和。
下面是程序的 Python 代码实现:
def even(n):
if n % 2 == 0:
return 1
else:
return 0
sum = 0
while True:
num = int(input("请输入一个正整数:"))
if num <= 0:
break
if even(num) == 0:
sum += num
print("奇数和为:", sum)
### 回答2:
这道题目是求一组正整数序列中所有奇数的和,可以先通过 input() 函数读取用户输入的所有正整数,并将它们存入列表中,当读到 0 或负数时,结束输入循环。接着,可以调用函数 even(n) 判断每一个数的奇偶性,如果是奇数,将其加入奇数和中。最后输出奇数和即可。
下面是代码实现:
```python
# 定义函数 even(n) 判断奇偶性
def even(n):
if n % 2 == 0: # 如果 n 是偶数
return 1
else: # 否则 n 是奇数
return 0
# 主函数
if __name__ == '__main__':
nums = [] # 定义正整数序列的空列表
while True:
num = int(input("请输入一个正整数:"))
if num <= 0: # 如果输入 0 或负数,结束输入循环
break
nums.append(num) # 将正整数添加到列表中
odd_sum = 0 # 定义奇数和的初值为 0
for n in nums:
if even(n) == 0: # 如果 n 是奇数
odd_sum += n # 将 n 加入奇数和中
print("所有奇数的和是:", odd_sum)
```
运行程序,输入一组正整数,例如:
```
请输入一个正整数:7
请输入一个正整数:-2
所有奇数的和是: 7
```
上述代码先定义了函数 even(n) 判断奇偶性。在主函数中,首先定义了一个空列表 nums 存储输入的正整数序列。接着使用 while 循环读取用户输入的正整数,当输入 0 或负数时,跳出循环。接下来,遍历列表 nums 中的每一个数,根据函数 even(n) 判断其奇偶性。如果是奇数,将其加入奇数和中。最后,输出奇数和即可。
### 回答3:
这是一道很简单的程序设计题,主要考察对函数的定义和调用。
首先,我们需要定义一个函数 even(n) 来判断一个数是奇数还是偶数。这个函数的实现非常简单,只需要判断 n % 2 是否为 0 即可。如果是偶数,则返回 1,否则返回 0。
接着,在主函数中,我们不断输入一批正整数,同时判断每个数是否为奇数,如果是奇数,则计入奇数和中。当输入的数为零或负数时,停止输入并输出奇数和。
下面是完整的代码实现:
```
def even(n):
if n % 2 == 0:
return 1
else:
return 0
# 主函数
sum = 0
while True:
num = int(input("请输入一个正整数(输入负数或零结束):"))
if num <= 0:
break
if even(num) == 0:
sum += num
print("输入正整数中的奇数和为:", sum)
```
注意,这里的 sum 是一个变量,用来累加奇数和。另外,while True 表示循环条件永远为真,需要在循环体内使用 break 语句来终止循环。如果输入的数为负数或零,则 break 语句被执行,跳出循环。
阅读全文