Python 入门猜数字游戏
首先需要有一个清楚的逻辑思路,设计这个猜数字游戏,也就是我们这些代码需要实现什么需求,功能。
1:随机一个在一定范围的数字,如一到十:
代码如下:
import random #导入random函数
setNum = random.randint(1,10`)
2:设定规则,可以猜几次数字 代码如下:
for guessBout int range(1,4): #设定规则为可以猜三次,也就是循环三次
3:设定一个变量,来循环接收控制台传来的数字,代码如下:
guessNum = int(input()) # 这行代码需要放入循环中
4:进行判断 代码如下:
# 对循环次数进行判断 当guessBout等于3时
# 证明已经循环了三次 如果此时还没有猜对的话 进行提示,并把正确数字打印 跳出循环
if guessBout == 3 and guessNum != setNum:
print(”哈哈哈并没有猜对,正确的数字是“+str(setNum))
break
#对猜的数字进行判断,如果猜的数字比随机的数字大给出提示 然后跳出当前循环
elif guessNum > setNum:
print("猜数字大了")
continue
#对猜的数字进行判断,如果猜的数字比随机的数字小给出提示 然后跳出当前循环
elif guessNum < setNum:
print("猜数字小了")
continue
#对猜的数字进行判断,如果猜对的话 给出提示 然后跳出循环
elif guessNum == setNum:
print("恭喜你猜对了,你第" + str(guessBout) + "次猜对了")
break
将这些代码组合在一起 一个简单的猜数字游戏就完成了 下面是完整代码
import random
setNum = random.randint(1, 10)
print("你可以进行3次猜数字")
for guessBout in range(1, 4):
print("请输入数字")
guessNum = int(input())
if guessBout == 2 and guessNum != setNum:
print("哈哈哈并没有猜对,正确的数字是" + str(setNum))
break
elif guessNum > setNum:
print("猜数字大了")
continue
elif guessNum < setNum:
print("猜数字小了")
continue
elif guessNum == setNum:
print("恭喜你猜对了,你第" + str(guessBout) + "次猜对了")
break
当你将上面的代码实现后 会发现这个游戏玩一次就停住了 如果还想继续玩就要再次启动
所以我们还可以对它进行一个优化 加入一个while 循环
代码如下
import random
whileBool = True #创建一个bool类型的变量
while (whileBool): #进行一个永久循环(死循环)
setNum = random.randint(1, 10) #设定随机范围 这里设定是1到10 你也可以自己设置
print("你可以进行3次猜数字")
for guessBout in range(1, 4): #设定循环范围 这里设置了三次循环 你也可以自己更改
print("请输入数字")
guessNum = int(input()) #创建一个变量接收控制台的参数
if guessBout == 3 and guessNum != setNum: #进行循环次数判断 判断第三次猜数字的时候 是否错误
print("没猜对啊,正确的数字是" + str(setNum)) #如果没有猜对 打印出正确数字
print("Y继续游戏,N退出游戏") # 提示是否要继续游戏 ,
whether= str(input()) #接受控制台参数
if whether.upper() == "Y": #进行判断是否为Y 如果是Y 便退出当前循环 从新开始游戏
break
elif whether.upper() == "N": #进行判断是否为N 如果是Y 便更改whileBool 为 False 终止游戏
whileBool = False
break
elif guessNum > setNum:
print("猜大了")
continue
elif guessNum < setNum:
print("猜小了")
continue
elif guessNum == setNum:
print("猜对了,你第" + str(guessBout) + "次猜对了")
print("Y继续游戏,N退出游戏")
whether= str(input())
if whether.upper() == "Y": # 单个字符的话 whether.upper() 转为大写的方法 也可以用 title()
break
elif whether.upper() == "N":
whileBool = False
break
print("下次再来玩啊") #给出一个退出提示