用while循环while,翻译成中文是“when...”,这个词在英语中常用作时间状语,while...someonedosomething,这种说法是存在的。在python中,也有这个意思,但不同的是,“when...”的条件是在一定的范围或时间间隔内成立的,这样python就可以在这个时间间隔内做很多事情。就像这个场景:当年龄大于60岁时:-------->当年龄大于60岁时退休-------->满足以上条件的任何动作被执行的就是while循环。写个比较正经的过程,可以看下图:来个猜号游戏和猜号游戏吧#!/usr/bin/envpython#coding:UTF-8importrandomi=0whilei<4:print'*************************************'num=input('请输入0到9之间的任意数字:')#python3xnum=random.randint(0,9)x=3-iifnum==xnum:print'Good运气,你猜对了!'breakelifnum>xnum:print'''你猜对了!\n哈哈,正确答案是:%s\n你还有%s的机会!'''%(xnum,x)elifnum=100:print"Thenumbershouldbein1to100."else:pass这里使用#Pass,表示暂时省略。如果满足上面提到的要求,就该执行这里的语句再看程序,在循环体中生成一个随机数,这样用户每次进入,都面临着一个新的随机数数字。这样的猜数游戏太难了。我希望程序会生成一个数字,直到猜对为止。所以,把生成随机数的命令移到循环之前importrandomnumber=random.randint(1,100)whileTrue:#Thereisnolimittonumberofusers...给大家说清楚,就是在条件表达式中,最好两边的数据类型相同。上面程序中,有一个num>xnum形式的条件表达式,一边是程序生成的int类型数据,一边是通过input函数得到的str类型数据。.在某些情况下有效,为什么?法官能看懂吗?当它们都是数字时,是的。然而,这并不好。然后按照这个思路,重写这个猜数程序:#!/usr/bin/envpython#coding:utf-8importrandomnumber=random.randint(1,101)guess=0whileTrue:num_input=raw_input("请输入一个整数那是在1到100:")guess+=1ifnotnum_input.isdigit():print"Pleaseinputinteger."elifint(num_input)<0orint(num_input)>=100:打印“数字应该在1到100之间。”else:ifnumber==int(num_input):print"OK,你很好,只有%d,那你就成功了。"%guessbreakelifnumber>int(num_input):print"你的数字是多还是少。"elifnumber