Python编程:15显示为偶数数字,并且不考虑该范围内的最后一个数字



python编程:15显示为偶数数字,在以下程序中未考虑该范围内的最后一个数字。我是编程的新手,如果有失误,请道歉: - (

我的程序:

for num in range (10,20):
    for i in range (2,num):
     if num%i == 0:
        print('%d is an even number' %(num))
        break
    else:
      print (num, 'is an odd number')

结果:15显示为偶数数字,不考虑20在范围内提供的20个。

10 is an even number
11 is an odd number
12 is an even number
13 is an odd number
14 is an even number
15 is an even number
16 is an even number
17 is an odd number
18 is an even number
19 is an odd number

15%3==0-这是您的问题。它不应是num%i,应该是num%2

这就是您在Python控制台运行程序时发生的事情:

    In [1]: for num in range (10,20):
   ...:     for i in range (2,num):
   ...:         if num%i == 0:
   ...:             print('%d is an even number' %(num))
   ...:             break
   ...:         else:
   ...:             print (num, 'is an odd number')
   ...:             
10 is an even number
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
(11, 'is an odd number')
12 is an even number
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
(13, 'is an odd number')
14 is an even number
(15, 'is an odd number')
15 is an even number
16 is an even number
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
(17, 'is an odd number')
18 is an even number
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')
(19, 'is an odd number')

为什么?因为您在循环中有一个循环,并且正在这样做:

In [2]: range(2, num) # given num == 10:
Out[2]: [2, 3, 4, 5, 6, 7, 8, 9]

暗示您将有15%3:

之类的情况
In [3]: 15%3
Out[3]: 0

范围与(start,end-1(一样。因此,如果您要到20,则必须编写range(10,21)

我想您想检查给定的号码是否均匀或奇数。

以下是代码

for num in range (10,21):
    if num%2 == 0:
        print (num,'is an even number')
    else:
        print (num, 'is an odd number')

相关内容

最新更新