Python编写猜数字游戏
#创作灵感#:找回上大学时敲代码的乐趣
#使用到的库#:random:生成随机数的库;
1、普通的思考,并进行编写:
import random
def random_number_generation():
"""
:return: 返回1~100的随机整数
"""
return random.randint(1, 100)
def guess_the_numbers(reality_number):
"""
:param reality_number: 一个随机数字,作为程序的猜数字答案
:return: 执行成功并回答正确则返回True,否则返回Flase
"""
try:
head_number = 1
end_number = 100
in_number = None
while in_number != reality_number:
in_number = int(input(f"请输入{head_number}~{end_number}之间的数字"))
if in_number > end_number or in_number < head_number:
print("输入错误,请重新输入区间范围内的值")
else:
if in_number > reality_number:
end_number = in_number - 1
else:
head_number = in_number + 1
print(f"结果猜中啦,为{reality_number}")
return True
except ValueError:
print("输入了其他非数字,退出程序")
return False
if __name__ == '__main__':
guess_the_numbers(random_number_generation())
运行结果:
2、进一步的优化,自定义输入区间,进行游戏:
import random
def random_number_generation():
"""
:return: 输出这区间的整数;
"""
try:
while 1:
head_number = int(input("输入head_number"))
end_number = int(input("输入end_number"))
if end_number >= head_number:
reality_number = random.randint(head_number, end_number)
return head_number, end_number, reality_number
else:
print("输入错误,请重新输入")
except ValueError:
print("输入了其他非数字,退出程序")
return False
def guess_the_numbers(head_number, end_number, reality_number):
"""
:param reality_number: 一个随机数字,作为程序的猜数字答案
:return: 执行成功并回答正确则返回True,否则返回Flase
"""
try:
in_number = None
while in_number != reality_number:
in_number = int(input(f"请输入{head_number}~{end_number}之间的数字"))
if in_number > end_number or in_number < head_number:
print("输入错误,请重新输入区间范围内的值")
else:
if in_number > reality_number:
end_number = in_number - 1
else:
head_number = in_number + 1
print(f"结果猜中啦,为{reality_number}")
return True
except ValueError:
print("输入了其他非数字,退出程序")
return False
if __name__ == '__main__':
result = random_number_generation()
if result:
guess_the_numbers(result[0],result[1],result[2])
运行结果:
3、加个简单的UI界面,看起来更好玩:
http://t.csdnimg.cn/lQ8na
作者:是冷静呀