游戏名字:猜数字
游戏规则:给出一个特定的整数,用户可以在有限的次数内猜测数字,系统根据用户的输入,提示出大了或者是小了,如果猜中则成功,如果猜错则提示用户失败。
1.生成随机数字
使用random.randint(),接收两个参数a b,生成一个a和b之间的整数,包含a、b,生成范围设置为100,次数就是2的多少次方大于这个书即可。2的7次方是128,所以我设置猜测的次数为8次。
MAX_NUM = 100
GUESS_NUM = 8
currentNum = random.randint(1,MAX_NUM)
print(currentNum)
2.判断结果函数
根据猜测的数字,和随机生成的数字做对比,给一个结果
def judge_num(num):
if num == currentNum:
print("恭喜你,猜对了!!")
return True
elif num > currentNum:
print("你猜的数大了")
else:
print("你猜的数小了")
return False
3.判断输入的是否为数字
‘0 1 2 3 4 5 6 7 8 9’.split() 会生成 [‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’]的列表
def is_num(num):
if num == "":
return False
for j in num:
if j not in '0 1 2 3 4 5 6 7 8 9'.split():
return False
return True
主要程序
首先给出提示,游戏开始,在有限的次数中猜测数字,如果输入的不是数字就无限循环让用户重新输入,如果循环结束,判断猜测的数字是否可正确的数字相等,给出提示。
print(f"我想到一个数字在1到{MAX_NUM}之间,你拥有{GUESS_NUM}次机会奥。")
for i in range(GUESS_NUM):
guess = ''
while not is_num(guess):
print("请你输入数字")
guess = input()
guess = int(guess)
if judge_num(guess):
break
if guess != currentNum:
print(f"很遗憾,你没有猜对数字,正确答案是:{currentNum}")
完整代码
import random
MAX_NUM = 100
GUESS_NUM = 8
currentNum = random.randint(1,MAX_NUM)
print(currentNum)
def judge_num(num):
if num == currentNum:
print("恭喜你,猜对了!!")
return True
elif num > currentNum:
print("你猜的数大了")
else:
print("你猜的数小了")
return False
def is_num(num):
if num == "":
return False
for j in num:
if j not in '0 1 2 3 4 5 6 7 8 9'.split():
return False
return True
print(f"我想到一个数字在1到{MAX_NUM}之间,你拥有{GUESS_NUM}次机会奥。")
for i in range(GUESS_NUM):
guess = ''
while not is_num(guess):
print("请你输入数字")
guess = input()
guess = int(guess)
if judge_num(guess):
break
if guess != currentNum:
print(f"很遗憾,你没有猜对数字,正确答案是:{currentNum}")
|