猫史档案馆


【Python作品分享】二分法

用户:阳炎时的雪风阳炎时的雪风查看:0 回复:0 评论:0 创建时间:2022-04-09T14:34:41


【作品展示】

center_image

 

【作品介绍】

这是二分法的演示:求根号2的值

 

【作品源代码】

import pygame as pg
pg.init()
sc=pg.display.set_mode((1100,600))
black=(0,0,0)
white=(255,255,255)
red=(255,0,0)

sc.fill(white)

pg.draw.line(sc,black,(0,400),(1100,400),10)
pg.draw.line(sc,black,(0,350),(0,400),10)
pg.draw.line(sc,black,(1000,350),(1000,400),10)

mf = pg.font.Font(r"c:\windows\fonts\msyh.ttc", 50)
text = mf.render('1', True, (0, 0, 0))
sc.blit(text,(0,400))
text = mf.render('2', True, (0, 0, 0))
sc.blit(text, (1000, 400))

pg.display.update()
times=0
minn=1
maxn=2
while 1:
    event=pg.event.poll()
    if event.type==pg.QUIT:
        pg.quit()
        exit()
###############################
    if times<40:
        times+=1
        n=(minn+maxn)/2
        if n**2>2:
            maxn=n
        else:
            minn=n

        pg.draw.rect(sc, white, (100, 0, 1000, 395))
        text = mf.render("精准:1.4142135623730951", True, (255, 0, 0))
        sc.blit(text, (0, 150))
        text = mf.render("预测:"+str(n), True, (0, 255, 0))
        sc.blit(text, (0, 250))
        x = int(1.4121*1000-1000)
        pg.draw.line(sc, black, (x, 350), (x, 400), 10)
        x = int(n*1000-1000)
        pg.draw.line(sc, red, (x, 350), (x, 400), 10)
        pg.display.update()
        pg.time.wait(1000)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页