发表于 2019-2-25 22:44:18

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

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

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))


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

使用turtle库,简单的递归即可绘制。

import turtle

def koch(size, n):
    if n == 0:
      turtle.fd(size)
    else:
      for angle in :
            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()
---------------------
更多学习教程简单适合新手的python教程:www.99kao.com

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

谢谢分享呢
页: [1]
查看完整版本: 几个好玩有趣的Python入门实例