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

设定一个理想数字比如: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('太笨了')
原文地址:https://www.cnblogs.com/lcfzh/p/10036183.html