我没法在我的Python代码中工作

时间:2019-02-17 05:57:01

标签: python count

我正在尝试创建一个代码,该代码将打印用户设置的范围内的每个数字,然后确定该范围内的数字是奇数,偶数。

我尝试了几种不同的格式,但是我是一个初学者,似乎无法确定我要出错的地方。我正在尝试使代码尽可能简单。

for i in range(x,y+1):
       print(i)

range = (x,y+1)
count_odd = 0
count_even = 0
for n in range:
        if   n%2==0:
             count_even = count_even+1
        else:
             count_odd = count_odd+1
print("Number of even numbers :",count_even)
print("Number of odd numbers :",count_odd)

目前,当我运行此代码时,偶数始终为0,奇数始终为2。

3 个答案:

答案 0 :(得分:2)

在第4行上,您具有:

range = (x,y+1)

这是元组(x, y+1),而不是它们之间的范围。因此,当您遍历它时,您仅遍历这两个数字。我认为在您的情况下,它们都是奇怪的。我建议删除该行并像这样开始第二个for循环:

for n in range(x, y + 1):

答案 1 :(得分:0)

range是一个内置函数,它从[start, end)返回一个可迭代的函数。您可能想要类似的东西:

count_odd = 0
count_even = 0
for n in range(x,y+1):
    if n % 2 == 0:
        count_even = count_even + 1
    else:
        count_odd = count_odd + 1

print("Number of even numbers :", count_even)
print("Number of odd numbers :", count_odd)

答案 2 :(得分:0)

循环是没有意义的。如果范围由偶数元素组成,则值的一半为偶数,一半为奇数。如果它由奇数个元素组成并从奇数开始,则Half + 1为奇数,Half-1为偶数。它以相等的值开始,然后相反。