说明:?
猜数字游戏由两个人参与,一个人设置一个数字,一个人猜数字。当猜数字的人说出一个数字,由出数字的人告知是否猜中:
若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”
若猜测的数字小于设置的数字,出数字的人提示“很遗憾,你猜小了”
若猜数字的人在规定的次数内猜中设置的数字,出数字的人提出“恭喜,猜数成功!”
输入“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
|