这么简单问一下while循环

时间:2017-12-01 17:28:25

标签: python while-loop

我是python的初学者,我有两个练习。第一个运行平稳,没问题。但第二个没有运行......为什么?他们之间有什么区别?

首先:

x=0
while x<10:
    print 'x is currently:', x
    print 'x is still less than 10, adding to x'
    x+=1

    if x==3:
        print 'Hey x equals 3!'
    else:
        print 'continuing...'
        continue
第二个:

x=0
while x<2:
    print 'may be!!'
    x+=1

    if 2<x<10:
        print "the number is:", x

    else:
        print 'not yet!!'
        continue

3 个答案:

答案 0 :(得分:0)

if 2<x<10:

X永远不会超过2.因为在开始时你将0赋予X.你说;

"while x<2:"

当x大于2或相等时,它从while循环退出。

答案 1 :(得分:0)

我推断你的问题不是打印出the number is: 3,也不是打印出来的。

问题在于你的循环控制序列:

while x<2:               # Exit the loop once x reaches 2
    print 'may be!!'
    x+=1                 # x is no longer the value you tested;
                         # is that really what you want?
    if 2<x<10:
        print "the number is:", x

if语句永远不会是True;当xwhile为0或1时,您将其增加到1或2,条件仍为False。在下一次迭代中,while条件会强制您退出循环。

顺便说一下,循环底部的continue是没用的;循环将自然地继续。

答案 2 :(得分:0)

使用值和变量以及循环格式来改善它,通过为自己尝试填充来实现学习。 你的代码设置x = 1,然后打印&#39;可能是&#39;并增加变量,然后跳过if,进入else并打印“还没有”&#39;。 x = 1时,&#39;可能是&#39;再次打印,然后设置x = 2,它再次跳过if,因为条件只接受x大于2不相等。然后打印还没有&#39;在else中,检查循环并将其停止,因为x不小于2,但相等。