python猜数字(多种实现方法)-LMLPHP

设定一个理想数字比如:66,让用户输入数字,如果比66⼤,则显示猜测的结果⼤了;如果比66⼩,则显示猜测的结果小了;只有等于66,显示猜测结果

  • 第一种方式(最简单的方式实现)
n = 66 # 理想数字
num = int(input('请输入一个数:')) # input()的返回值是字符串,所以需要使用int()转换下类型
if num > n:
print('很抱歉,你猜错了!')
elif num < n:
print('很抱歉,你猜错了!')
else: # 这个分支中else表示 num = n
print('恭喜你,猜对了!')
  • 使用随机数进行猜数字,直至猜对为止(对猜数的范围有一个限定)

# 使用随机数猜数字
from random import randint # 导入一个包
n = randint(1, 100) # 随机产生1-100的随机数包含1和100
# random.randint(a,b):用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n:a<=n<=b
# # 限定猜数的范围
left = 1
right = 100
while True:
num = int(input(f'请输入你要猜的数({left}-{right}):')) # f声明字符串中包含变量 {left}表示一个left变量会替代进去
if num > n:
print('你猜大了')
right = num # 如果猜大了就将猜大的数作为右边的边界
elif num < n:
print('你猜小了')
left = num # 如果猜小了就将猜小的数字作为左边的边界
else:
print('你猜对了')
break # 猜对后直接终止本层循环
  • 使用随机数进行猜数字,给定三次机会 (对猜数的范围有一个限定)
from random import randint
# random.randint(a,b):用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n:a<=n<=b
n = randint(1, 100) # 产生1-100的随机数
# 限定范围
left = 1
right = 100
count = 1 # 引入新的变量count来控制猜数的次数 while count <= 3:
num = int(input('请输入你要猜的数(%s-%s):' % (left, right)))
if num > n:
print('猜大了')
right = num # 缩小上限范围
elif num < n:
print('猜小了')
left = num # 缩小下限范围
else:
print('猜对了')
break # 猜对后结束循环不会执行下面的else
count += 1 # 每次循环自增1 控制猜数的次数
else: # 当三次机会用完的时候执行这个语句 只有当条件不成立的时候才能执行到它
print('太笨了')
05-11 13:26