Python笔记之 难点:python的循环语句

例,猜数游戏:

课本上有个例题要求:在程序中预设一个的整数,e.g. 0到9,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”,如此循环,直至猜中该整数范围,显示“预测X次,你猜中了!”其中X是用户输入数字的次数。

没有找到答案,并且费时较多,故记录解体思路如下:


解决的关键点在于:循环在满足停止条件前,用户可以连续输入而程序不推出;

思路&方法:

首先,使用if,elif和else把循环列出来,

然后,将程序自己套入到if和elif语句中,使得在输入的数值落入0到9前,不断自我循环;

最后,解决问题。

代码及注释如下:

def xxx(b):                               # 写出循环,并将其 起名/定义 为 “xxx(b)”;
    a =int(input('请输入数字'))           # 运行后窗口提示“请输入数字”,并将其格式由 str/字符串 转换为 int/整数; 
    if a > 9:
        print('遗憾,太大了')
        b+=1                              # b代表输入的次数。等价于b=b+1,表示用户输入的次数,即把右边b+1的值,赋给(新的)b;
        xxx(b)                            # python读到该处,会重新开始我们定义的xxx(b)条件判断循环;
    elif a < 0:
        print('遗憾,太小了')
        b+=1
        xxx(b)
    else:                                 
        print('预测{}次,你猜中了!'.format(b+1))
                   

b=0                                        # 运行时,b=0,此时用户还没有进行任何输入。
xxx(b)                                     # 作用是,让python运行我们开头定义的循环xxx(b)
注:或者将 a 的取值改由系统random()随机产生。

改动1:a= randint(0,100) # 随机产生一个0到100之间的数,包括0和100;

改动2:增加 "from random import *"语句。

疑问:不知道能不能用while做出来相同的效果,希望有大神指点。



猜你喜欢

转载自blog.csdn.net/htuhxf/article/details/79936225