我正在尝试创建一个代码,该代码将打印用户设置的范围内的每个数字,然后确定该范围内的数字是奇数,偶数。
我尝试了几种不同的格式,但是我是一个初学者,似乎无法确定我要出错的地方。我正在尝试使代码尽可能简单。
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。
答案 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为偶数。它以相等的值开始,然后相反。