python - 偶数和奇数之和包括超出范围的数字,如果不是偶数或奇数
问题描述
所以这是我学习计算机科学的第一个学期,而我目前正在学习 Python。我的任务是创建一个程序来显示您选择的整数之间的奇数和偶数之和。它几乎可以工作,除了它添加了定义为范围的数字,而不仅仅是其中的赔率或偶数。谁能指出我做错了什么?我已经坚持了一段时间了。谢谢您的帮助!
我已经定义了范围并使用 sum 函数来查找总和,但是包括了我用于范围的值。
enter code here
print("Welcome to my Odd/Even sum generator.")
print("This program will show you the sum of all even and odd numbers between two integers of your choice.")
Num1 = int(input("What is your first, lower integer?"))
Num2 = int(input("What is your second, higher integer?"))
def sum_even(Num1, Num2):
count1 = 0
for i in range(Num1, Num2+1):
if(i % 2 == 0):
count1 += i
return count1
def SumOdds(Num1,Num2):
count2= Num1 + Num2
for i in range(Num1,Num2+1):
if(i == Num1 or i == Num2):
pass
elif (int(i%2==1)):
count2=count2+i
print("The sum of the odd numbers is",(count2),".")
SumOdds(Num1,Num2)
print("The sum of the even numbers is",(sum_even(Num1, Num2)),".")
只有当这些范围值适用于奇数/偶数和时,我才希望它添加范围值。比如说,我输入了 5 和 25 的范围。我希望范围值包含在 OddSum 的总和中,而不是 EvenSum 的总和中。
解决方案
您的问题是您在 SumOdds 中放置了以下代码。
for i in range(Num1,Num2+1):
if(i == Num1 or i == Num2):
pass
这会跳过第一个和最后一个数字,但如果您将其移至 sum_evens,您的代码应该可以按预期工作。
推荐阅读
- serialization - Django rest 框架:有没有办法在使用序列化程序验证数据之前清理数据?
- logstash - Logstash 配置错误,我认为这是一个愚蠢的问题
- c++ - 有没有办法用忍者生成器在cmake中禁用“deps = gcc”的生成?
- jquery - 具有类对象和布尔数据类型的 Jquery ajax 调用
- javascript - 将猫鼬中的字符串日期与 Date.now() 或 new Date() 进行比较
- python - 使用同一类的方法为类导入模块
- mysql - 如何制作具有更好性能的 COUNT?
- javascript - 将 HTML 文本放在特定位置但在同一行
- c# - 使用 C# 驱动程序使用 Elemmatch 查询 MongoDB
- r - 推断/表达拟合平滑样条的多项式方程?