几个好玩有趣的Python入门实例

2019-02-255095
AI 快速预览详细 收起
本文介绍了两个Python入门实例:1. 使用蒙特卡洛方法计算π,通过随机数生成和面积比近似计算;2. 递归绘制Koch雪花曲线,利用turtle库实现分形几何的经典曲线。这两个项目适合零基础新手快速上手,激发孩子对编程的兴趣。
在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

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
KIKI
KIKI
谢谢分享呢
- 没有更多了 -