Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 奇偶数_Python_Python 3.x - Fatal编程技术网

Python 奇偶数

Python 奇偶数,python,python-3.x,Python,Python 3.x,我在计算2008、2009、2010和2011范围内的奇数和偶数时出错。其实这个代码是用来计算A队的胜利者的,每奇数年该队都会赢。这就是为什么,在我的代码中,当它是奇数年时,它将+1 i = 0 sum = 0 n = list(map(int, input("Year : ").split())) for i in n : if i % 2 != 0 : sum += 1 else : sum = 0 print("

我在计算2008、2009、2010和2011范围内的奇数和偶数时出错。其实这个代码是用来计算A队的胜利者的,每奇数年该队都会赢。这就是为什么,在我的代码中,当它是奇数年时,它将+1

i = 0
sum = 0

n = list(map(int, input("Year : ").split()))
for i in n :
    if i % 2 != 0 :
        sum += 1
    else :
        sum = 0
print("Win :", sum)

# Input
2008 2009 2010 2011
# Output
1 (This is the problem, it should be 2 wins but i dont know why the output is always 1)

juanpa_arrivillaga试图让您注意到,当您遇到偶数年时,您将总和设置为0。当这是奇数年时,你是在增加总和。无论何时将sum设置为0,它都会撤消在循环的上一次迭代中所做的任何递增操作。尝试在每个循环结束时打印sum out,看看它是否说出了您认为应该说的话。

我认为您不需要
其他:sum=0
。你可以继续

i=0
总和=0
n=列表(映射(int,输入(“年份”).split())
对于n中的i:
如果我是%2!=0 :
总和+=1
打印(“赢:”,和)
此语句将总和的值重置回零。
因此,您可以简单地放弃它。

否则:sum=0
似乎是错误的,不是吗?我认为不是,我没有给出偶数的值。对于第一次迭代,sum=0
i
是偶数,因此sum=0。在第二次迭代中,
i
是奇数。因此,sum+=1,sum现在是1。在第三次迭代中,我是偶数。现在在else块中,将sum赋值为0。意思是,总和=0。在下一次迭代中,i是奇数,因此sum+=1。但由于sum=0,sum被更改为1。这就是得到1输出的方法。基本上,当遇到偶数年时,你的else块将总和更改为0,并且整个进度都丢失。@谢谢你的解释,我删除了该总和=0,这就像我想看到的一样,我一听到你的回答就尝试了,是的,它就像我想要的那样工作。谢谢你帮我…太棒了,很高兴这能起作用@TitoYudhaYes,我把它移除了,现在应该可以给出正确的结果了
else :
    sum = 0