在Python 3.xx中的用户输入的数字之间的列表中查找整数之和

时间:2017-10-16 03:32:56

标签: python

num1 = int(input("Please enter the first number: "))
num2 = int(input("Please enter the second number: "))

numbers = []

even = 0
odd = 0

for x in range(num1, num2 + 1):
    numbers.append(x)

    if(x % 2 == 0):
        even += x
    elif(x % 2 == 1):
        odd += x

print("Even Sum =", even)
print("Odd Sum =", odd)

到目前为止,如果第一个数字低于第二个数字,我可以在用户输入输入时找到总和。我一直试图通过将输入放入列表来解决它。

例如: 请输入第一个数字:3 请输入第二个数字:9

但是当我先输入较低的数字时 - 请输入第一个数字:8 请输入第二个数字:2

它输出 - 甚至Sum = 0 奇数和= 0

到目前为止,我已经尝试了所有知识,但似乎无法弄明白。任何建议/意见将不胜感激。感谢

2 个答案:

答案 0 :(得分:1)

您可以添加一个if语句来检查num1是否大于num2。如果num1大于num2,则将num1更改为num2,将num2更改为num1。

    num1 = int(input("Please enter the first number: "))
    num2 = int(input("Please enter the second number: "))
    ##-----------##
    if num1 > num2:
         num1,num2 = num2,num1

这将解决您的问题。

答案 1 :(得分:0)

这是一个解决方案,假设您要保留num1 / num2,

的值
num1 = int(input("Please enter the first number: "))
num2 = int(input("Please enter the second number: "))

numbers = []

even = 0
odd = 0

start,end = (num1,num2) if num1 < num2 else (num2,num1)

for x in range(start, end + 1):
    numbers.append(x)

    if x%2 == 0:
        even += x
    else:
        odd += x

print("Even Sum =", even)
print("Odd Sum =", odd)