我们经常遇到用户登录时密码忘记而进行字码猜测的过程,有的时候可以无限制地试错密码,也有的时候只允许有限次数的试错,对于这样的问题我们可以编写段代码进行“猜数字”游戏,增加代码的趣味性,便于提高生的兴趣。

猜数字游戏1.0版

age_of_boy = 20       #假定某男孩的年龄是20岁

guess_age = int(input("guess age:"))      #指引用户输入,猜测数字,int是将字符串强制转化为整型的数值

if guess_age ==age_of_boy:

    print("Yes you got it!")    #如果用户猜对了数字,提示“猜对了”。

elif guess_age>age_of_boy:

    print("Think smaller...")         #如果用户猜的数字大于假定的数字,则提示用户往小的方向猜。

else:

    print("Think bigger....“)    #如果用户猜数字小于假定的数值,则提示往大的方向猜,从语法上来说只要不是第一二两种情况就是第三种,所以只需用else来判断 。

此程序只能运行一次就结束了,不符合实际应用情况,于是2.0版本就是加一个循环的语法即可。

猜数字游戏2.0版

while:

    age_of_boy = 20       #假定某男孩的年龄是20岁

    guess_age = int(input("guess age:"))      #指引用户输入,猜测数字,int是将字符串强制转化为整型的数值

    if guess_age ==age_of_boy:

        print("Yes you got it!")    #如果用户猜对了数字,提示“猜对了”。

    elif guess_age>age_of_boy:

        print("Think smaller...")         #如果用户猜的数字大于假定的数字,则提示用户往小的方向猜。

    else:

        print("Think bigger....“) #如果用户猜数字小于假定的数值,则提示往大的方向猜,从语法上来说只要不是第一二两种情况就是第三种,所以只需用else来判断 。

2.0版用的是while无限次循环,也不太现实,一般我们猜密码是有次数限制的,于是计次循环的3.0版是这样的:

猜数字游戏3.0版(只允许用户试错3次)

age_of_boy = 20       #假定某男孩的年龄是20岁

for i in range(3):     #加入一个for循环,循环次数为3

    guess_age = int(input("guess age:"))      #指引用户输入,猜测数字,int是将字符串强制转化为整型的数值

    if guess_age ==age_of_boy:

        print("Yes you got it!")    #如果用户猜对了数字,提示“猜对了”。

    elif guess_age>age_of_boy:

        print("Think smaller...")         #如果用户猜的数字大于假定的数字,则提示用户往小的方向猜。

    else:

        print("Think bigger....“) #如果用户猜数字小于假定的数值,则提示往大的方向猜,从语法上来说只要不是第一二两种情况就是第三种,所以只需用else来判断 。

else:

    print("Fuck off")     #用户试错3次提示错误信息,游戏结束。

这里还是与实际情况有差距,比如有的人想无限次地玩,有的人只想玩几次就算了,如何让用户可以根据自己的喜好来决定是否继续玩呢?这就是4.0版了。

猜数字游戏4.0版

count = 0    #引入一个计次函数count,初始值为0.

while count <3:

     age_of_boy = 20       #假定某男孩的年龄是20岁

    guess_age = int(input("guess age:"))      #指引用户输入,猜测数字,int是将字符串强制转化为整型的数值

    if guess_age ==age_of_boy:

        print("Yes you got it!")    #如果用户猜对了数字,提示“猜对了”。

    elif guess_age>age_of_boy:

        print("Think smaller...")         #如果用户猜的数字大于假定的数字,则提示用户往小的方向猜。

    else:

        print("Think bigger....“) #如果用户猜数字小于假定的数值,则提示往大的方向猜,从语法上来说只要不是第一二两种情况就是第三种,所以只需用else来判断 。

count +=1

if count ==3:

    countine_confirm = input("Do you want to keep guessing......")    #当用户试错3次时提示用户是否要继续玩。

   if countine_confirm !="n":

        count == 0     #当用户输入的不是n键时,计数器返回初始值0,即用户如果输入n,则退出,输入其他键就继教玩。