INPUTS 1
"1 2 3 4 5 6" <<< YES WITH SPACE
Results returned
- The summation of even and odd numbers are 12 and 6 [x]
- The difference between biggest and smallest number is 5 [✓]
- The count of even numbers and odd numbers are 6 6 [x]
输入2
1 2 3 4
Results returned
- The summation of even and odd numbers are 6 and 4 [✓]
- The difference between biggest and smallest number is 3 [✓]
- The count of even numbers and odd numbers are 4 4 [X]
我的代码怎么了?有人能开导我吗???你知道吗
even_sum, odd_sum = 0,0
s = raw_input("Please Input a series of numbers")
numbers = map(int, s.split())
for num in numbers:
if num%2 ==0:
evencount = len(numbers)
even_sum += num
else:
oddcount = len(numbers)
odd_sum += num
max = max(numbers)
min = min(numbers)
difference = max - min
print numbers
print "The summation of even and odd numbers are " + str(even_sum) + " and " + str(odd_sum)
print "The difference between biggest and smallest number is " + str(difference)
print "The count of even numbers and odd numbers are " + str(evencount) + " " + str(oddcount)
你的
else
直接在for
下对齐,它也可以取else
,因此偶数的和是正确的,而奇数的和是for循环中num
的最后一个值。您应该移动else
块以与if
对齐。你知道吗你的问题就在这些方面
在这两种情况下,你最后都会说
这就是为什么您得到
4,4
作为evencount和oddcount,因为您有4个数字作为输入。你知道吗把它改成
没有足够的代表发表评论,但我认为答案可能是你的else语句没有正确缩进。。。你知道吗
我也认为偶数和奇数的逻辑是错的,我认为应该是这样的:
evencount = evencount+1
试试这个:
相关问题 更多 >
编程相关推荐