Python第五章(北理國家精品課 嵩天等)
阿新 • • 發佈:2019-03-29
awd span {} date 默認 參數 情況 屬性和方法 過程
函數和代碼復用
函數的定義和使用
def <函數名>(<參數(0個或多個)>): <函數體> return <返回值>
可選參數放在不可選參數之後
*b不定參數
lambda函數返回函數名(特殊情況使用)
<函數名> lambda<參數>:<表達式>
七段數碼管繪制
import turtle,time def drawGap(): turtle.penup() turtle.fd(5) def drawLine(draw): drawGap() turtle.pendown()if draw else turtle.penup() turtle.fd(40) drawGap() turtle.right(90) def drawDigit(digit): drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False) drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False) drawLine(True)if digit in [0,2,6,8] else drawLine(False) turtle.left(90) drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False) turtle.left(180) turtle.penup() turtle.fd(20) def drawDate(date): turtle.pencolor("red") for i in date: if i == ‘-‘: turtle.write("年",font=("Arial",18,"normal")) turtle.pencolor("green") turtle.fd(40) elif i == ‘=‘: turtle.write("月",font=("Arial",18,"normal")) turtle.pencolor("purple") turtle.fd(40) elif i == ‘+‘: turtle.write("日",font=("Arial",18,"normal")) else: drawDigit(eval(i)) def main(): turtle.setup(800,350,200,200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate(time.strftime("%Y-%m=%d+",time.gmtime())) turtle.hideturtle() turtle.done() main()
代碼復用與函數遞歸
函數
對象:屬性和方法,在函數之上
count = 0 def hanoi(n,src,dst,mid): global count if n == 1: print("{}{}->{}".format(1,src,dst)) count+=1 else: hanoi(n-1,src,mid,dst) print("{}{}->{}".format(n,src,dst)) count+=1 hanoi(n-1,mid,dst,src) hanoi(50,"A","B","C") print(count)
PyInstaller庫的使用
-h 查看幫助
--clean 清理打包過程中的臨時文件
-D,--onedir 默認值,生成dist文件夾
-F,--onefile 在dist文件夾中只生成獨立的打包文件
-i<圖標文件名.ico> 指定打包程序使用的圖標文件
pyinstaller -i curve.ico -F SevenDigitsv1.py
科赫雪花小包裹
#KochDrawV1.py 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(600,600) turtle.penup() turtle.goto(-200,100) turtle.pendown() turtle.pensize(2) level = 3 # koch(400,level) turtle.right(120) koch(400,level) turtle.right(120) koch(400,level) turtle.hideturtle() main()
Python第五章(北理國家精品課 嵩天等)