说明: 

猜数字游戏由两个人参与,一个人设置一个数字,一个人猜数字。当猜数字的人说出一个数字,由出数字的人告知是否猜中:

若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”

若猜测的数字小于设置的数字,出数字的人提示“很遗憾,你猜小了”

若猜数字的人在规定的次数内猜中设置的数字,出数字的人提出“恭喜,猜数成功!”

输入“q”则退出程序。

解题思路:

1、由于是编写的程序,如果由人来输入猜的数字,则会被猜数字的人看到。所以采用随机数让电脑选出被猜的数字。

2、题目要求在规定次数内猜中设置的数字,出数字的人提出“恭喜,猜数成功!”。因此我们不能用while进行死循环,而需要使用for循环,并规定猜的次数,即循环的次数。

3、题目最后提出输入“q”则退出程序,但我们猜数字的时候肯定是需要将输入的类型变成int类型的。所以,需要在循环内再设定一个str类型的input来接收q这个退出程序的指令。

这里由于博主刚学Python,所以for循环用的可能有点问题,或许还有更符合题意的写法。

也可以将循环的次数在循环外用input来输入。

这里由于博主不知道该如何在循环结束后输出“猜数次数达到上限”的同时,不输出其他提示(刚开始的时候,博主将次数达到上限的提示放在循环外面,结果发现不管是输入“q”退出程序,还是猜中数字输出恭喜,都会同时输出达到上限的提示)。所以在循环外额外设置了一个sum数来记录循环次数。

import random
figure=random.randint(0,100)#电脑随机出要被猜的数字
sum=0#存储猜数次数
#rint(figure)
for x in range(5):
    guess = int(input("请输入你猜的数字(0-100):"))
    if(guess<figure):
        print("很遗憾,你猜小了")
        sum+=1  # 猜数次数加1
    elif(guess>figure):
        print("很遗憾,你猜大了")
        sum+=1  # 猜数次数加1
    else:
        print("恭喜,猜数成功!")
        break
    if(sum==5):
        print("猜数次数达到上限!")
        break
    print("如果想要退出程序,请输入q\n否则请按回车继续猜数")
    tc = input()
    if tc=="q":
     print("退出程序成功!")
     break
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐