2019-2-25 22:44:18 [显示全部楼层]
1612浏览
查看: 1612|回复: 1

[黑科技] 几个好玩有趣的Python入门实例

[复制链接]
在python教程网学完python尝试开发了几个小项目
蒙特卡洛方法计算π
随机数生成使用random库,文档在此。思路即是随机生成点,落在正方形内。计算正方形内的圆内落点与正方形内落点之比,近似为面积之比,随机数越随机,数量越大越准确。
[mw_shl_code=applescript,true]
from random import random
from time import perf_counter

def calPI(N = 100):
    hits = 0
    start = perf_counter()
    for i in range(1, N*N+1):
        x, y = random(), random()
        dist = pow(x ** 2 + y ** 2, 0.5)
        if dist <= 1.0:
            hits += 1
    pi = (hits * 4) / (N * N)
    use_time = perf_counter() - start
    return pi, use_time

PI, use_time = calPI(1000)
print('\nuse Monte Carlo method to calculate PI: {}'.format(PI))
print('use time: {} s'.format(use_time))[/mw_shl_code]


递归绘制Koch雪花曲线
koch雪花曲线是分形几何中的一个经典曲线。

使用turtle库,简单的递归即可绘制。
[mw_shl_code=applescript,true]
import turtle

def koch(size, n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0, 60, -120, 60]:
            turtle.left(angle)
            koch(size/3, n-1)

def main():
    turtle.setup(1200, 1000)
    turtle.speed(11)
    turtle.penup()
    turtle.goto(-300, 200)
    turtle.pendown()
    turtle.pensize(2)
    level = 4
    koch(600, level)  # 3阶科赫曲线
    turtle.right(120)
    koch(600, level)
    turtle.right(120)
    koch(600, level)
    turtle.hideturtle()
    turtle.done()

main()[/mw_shl_code]
---------------------
更多学习教程  简单适合新手的python教程:www.99kao.com

KIKIYA  管理员

发表于 2019-2-26 10:12:53

谢谢分享呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail