学习汇报

python

一、错误处理

在我们程序运行错误时,可以通过返回错误代码找到错误位置以及原因。但其代码过长且不便。

def foo():
    r = some_function()
    if r==(-1):
        return (-1)
    # do something
    return r

def bar():
    r = foo()
    if r==(-1):
        print('Error')
    else:
        pass

优化此类状况,代码内置try代码,某些代码可能会出错,可用try代码运行,如果执行出错,则后续代码不会继续执行,跳转至错误处理代码。

try...
except: division by zero
finally...
END

可以放置多个except代码处理不同错误

try:
    print('try...')
    r = 10 / int('a')
    print('result:', r)
except Error1 as e:
    print('Error1:', e)
except Error2 as e:
    print('Error2:', e)
finally:
    print('finally...')
print('END')

二、调试

修复bug需要找出有问题的变量

用print()把问题变量打印出来

def foo(s):
    n = int(s)
    print('>>> n = %d' % n)
    return 10 / n

def main():
    foo('0')

main()

执行后查找变量值

$ python err.py
>>> n = 0
Traceback (most recent call last):
  ...
ZeroDivisionError: integer division or modulo by zero

基于角规控制检尺原理的林分调查工具设计

重要概念:

1.角规系数k(常为0.5、1、2、4)由固定视角决定

2.临界树:k=d/R

3.g(胸高断面积)/A(样圆面积)=k2 /4(据此得宽于,临界于视角树计入,窄于视角不计入)

4.每棵计入的树都是一个k2/4平方米,每公顷样地断面积为n*(K²/4)

设计:

1.视场角a判断相割、相切或者相余

2.h=Ltanθ时,所处位置为1.3m胸高处

3.坡面法,适合于坡度较小,起伏小地。G水平=(F×N)×cosθ

4.坡度改正,G水平=F×N×cosθ

5.目标树最后表现为p2-p1,树干两端p1p2点可以由现场勾画、内业处理、深度学习进行判读

6.胸径D(熊师哥作图)

发表留言