python练习案例01之猜年龄游戏

364 阅读1分钟

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战

题目1:猜年龄游戏

要求:

允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出

 age = '18'
 count = 0
 while count < 3:
     guess_age = input('请输入您猜测的年龄:')
     if(guess_age == age):
         print('恭喜你,猜对了')
         break
     else:
         print('再来一次')
         count += 1
 else:
      print('抱歉,您的次数超过三次')

解题思路:

1.首先我们先分析一下变量,题目有次数规定,所以得有个计数器count来记录是否猜了三次,然后猜年龄,得有一个已知年龄和用户输入年龄

 age = '18'
 count = 0
 guess_age = input('请输入您猜测的年龄:')

tip:这里由于是用户输入的所以肯定是字符串,所以为了避免麻烦直接设置变量age的初始值为字符串类型

2.猜对了,直接退出,猜错了可以再尝试一次,所以加个条件判断

 if(guess_age == age):
     print('恭喜你,答对了')
 else:
     print('没关系,可以再来一次')

3.然后我们在套一层循环,让它可以猜错了连续执行三次,用户输入的input也要循环三次,所以也要放入循环中,猜对了要直接退出循环

 age = '18'
 count = 0
 while count < 3:
     guess_age = input('请输入您猜测的年龄:')
     if(guess_age == age):
         print('恭喜你,答对了')
         break           ## 猜对了直接退出循环
     else:
         print('没关系,可以再来一次')
         count+=1          ## 为了记录猜错的次数

4.最后,为了优化体验,我们可以用else搭配while,给猜错三次的用户一个提示信息

 age = '18'
 count = 0
 while count < 3:
     guess_age = input('请输入您猜测的年龄:')
     if(guess_age == age):
         print('恭喜你,答对了')
         break           ## 猜对了直接退出循环
     else:
         print('没关系,可以再来一次')
         count+=1          ## 为了记录猜错的次数
 else:
     print('抱歉,您猜的次数已经超过三次'

题目2:猜年龄游戏升级版

要求:

允许用户最多尝试3次

每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

如何猜对了,就直接退出

 age = '18'
 count = 0
 while count < 3:
     guess_age = input('请输入您猜测的年龄:')
     if(guess_age == age):
         print('恭喜您,猜对了')
         break
     else:
         print('再猜一次')
         count += 1
     if(count >= 3):
         res = input('您已经猜错三次了,是否要继续,继续(y或Y),不继续(n或N)')
         if(res == 'y' or res == 'Y'):
             count = 0
         elif(res == 'n' or res == 'N'):
             break

解题思路:

1.首先,我们接着上道题的思路,这道题说尝试三次错误后询问用户是否想继续玩,所以加个条件判断就ok了

 if(count >= 3):
     res = input('您已经猜错三次了,是否要继续,继续(y或Y),不继续(n或N)')

2.然后我们还需要判断用户输入的内容是否是继续玩,如果不玩就直接退出循环,如果还想继续我们可以把count重置为0,这样就可以又循环三次,就相当于用户再猜三次

 if(res == 'y' or res == 'Y'):
     count = 0
 elif(res == 'n' or res == 'N'):
     break

3.最后,再加上上道题的代码

age = '18'
count = 0
while count < 3:
    guess_age = input('请输入您猜测的年龄:')
    if(guess_age == age):
        print('恭喜您,猜对了')
        break
    else:
        print('再猜一次')
        count += 1
    if(count >= 3):
        res = input('您已经猜错三次了,是否要继续,继续(y或Y),不继续(n或N)')
        if(res == 'y' or res == 'Y'):
            count = 0
        elif(res == 'n' or res == 'N'):
            break

\