python猜数字游戏代码显示次数(python猜数字游戏编程,显示猜了几次)

在学习Python的时候我也阅读了一些其他类型的书籍,比如;算法。因为Python比较强的是爬虫和大数据分析,当然其他语言也都可以去做爬虫和数据分析,可能是Python更容易学作为小白的话尝试了一下 确实比较容易理解和实践~。

我们之前有玩过一个游戏 就是通过随机数让计算机出一个数,然后我们去判断计算机出的数是哪个。

计算机会从1~100中随机出一个数,我们有6次机会去计算,看看能否猜出来。

import random
def caishuzi(fanwei,caideshu):
    cishu=1
    while cishu<7:
        caideshu=int(input('请输入你猜的数:'))
        if caideshu==a:
            print(f'很厉害嘛,第{cishu}次,猜对的,')
            break
        else:
            if caideshu>a:
                print(f'猜大了,这是第{cishu}次')
            else:
                print(f'猜小了,这是第{cishu}次')
        cishu+=1

a = random.randint(1,100)
fanwei=[i for i in range(1,101)]
caishuzi(fanwei,a)

运气好6次以内可以搞定,最多可能需要6-7次,当然这是咱们玩了很多次以后找到了一个好的办法 ,就是2分法,因为知道是1~100里面的数字,那么第一次最大就是100,最小是1,先取个中间值50(取整数),如果猜得大了,再从中间值到最小值去考虑,如果小了,就从中间值到最大值去考虑。

按这个思路 我们可以做一个二分法的函数出来。注意:这个方法只能用于有序的范围,如果范围是无序的就不管用了哈。

做出来后干嘛呢?用魔法打败魔法吧~计算机跟计算机去玩吧。

import random
def caishuzi(fanwei,caideshu):
    zuixiaozhi=1
    zuidazhi=len(fanwei)
    cishu=1
    while cishu<8:
        zhongjianzhi = (zuidazhi + zuixiaozhi) // 2
        print(f'计算机建议你猜:{zhongjianzhi}')
        guess=int(input('请输入你猜的数:'))
        guess=zhongjianzhi
        if guess==caideshu:
            print(f'很厉害嘛,第{cishu}次,猜对的,')
            break
        else:
            if guess>caideshu:
                zuidazhi=zhongjianzhi-1
                print(f'猜大了,这是第{cishu}次')
            else:
                zuixiaozhi=zhongjianzhi+1
                print(f'猜小了,这是第{cishu}次')
        cishu+=1

a = random.randint(1,100)
fanwei=[i for i in range(1,101)]
caishuzi(fanwei,a)

让魔法打败魔法就跟找到外挂一样有趣~

python猜数字游戏代码显示次数(python猜数字游戏编程,显示猜了几次)

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.vsaren.com/9331.html