编写一个程序,确定用户输入是偶数还是奇数并循环

时间:2016-06-04 03:57:47

标签: python loops break

我正在尝试创建一个程序,该程序将持续接受用户输入并确定用户输入是偶数还是奇数。程序只会在输入零时停止。

但是,当我输入零时,remote: Searching for wit>=3.4.0 remote: Reading http://mirror1.ops.rhcloud.com/mirror/python/web/simple/wit/ remote: No local packages or download links found for wit>=3.4.0 remote: error: Could not find suitable distribution for Requirement.parse('wit>=3.4.0') s print后跟0 is an even number。预期的输出只是All done!。这是我的代码:

All done!

4 个答案:

答案 0 :(得分:0)

这里的问题是当Python读取你的代码时,它会自上而下地读取它。当它首先到达if entry % 2 == 0:并将输出那里的任何内容。然后它继续if entry == 0并输出那里的任何内容。

你想要的是它应该只去一个代码块并执行它。您还希望它优先entry == 0,因此您可以将其移至顶部。在这种情况下,elif是您寻找的命令。

def main():
    total = 0
    count = 0

    while True:
        entry=int(input('Enter a number or 0 to quit:'))
        if entry == 0:
            print ('All done!')
            break
        elif entry % 2 == 0:
            print (format (entry), 'is an even number.')
        else:
            print (format (entry),'is an odd number.')
main()

答案 1 :(得分:0)

如果要在执行任何其他操作之前检查输入是否为零,请执行此操作。如果要在某些条件下停止循环,请将break置于条件内。请注意,counttotal未使用。此外,没有格式化的format()也是多余的。

def main():

    while True:
        entry = int(input('Enter a number or 0 to quit:'))    
        if entry == 0:
            print('All done!')
            break
        if entry % 2 == 0:
            print(entry, 'is an even number.')
        else:
            print(entry, 'is an odd number.')

main()

答案 2 :(得分:0)

你应该在entry%2==0条件之前检查0,ince 0%2 == 0它没有打破循环。

其次使用raw_input代替输入。

def main():
    total = 0
    count = 0

    while True:
        entry=int(raw_input('Enter a number or 0 to quit:'))

        if entry == 0:
            print ('All done!')
            break



        if entry % 2 == 0:
            print (format (entry), 'is an even number.')
        else:
            print (format (entry),'is an odd number.')

main()

答案 3 :(得分:0)

为什么不尝试这样的事情

if entry == 0:   
     print ('All done!')
     break 
else  if entry % 2 == 0:
     print (format (entry), 'is an even number.')
else:
     print (format (entry),'is an odd number.')

抱歉错误的缩进。我对python并不熟悉。如果在遇到0时需要做的就是结束

,为什么还要做额外的工作呢?