zoukankan      html  css  js  c++  java
  • Python学习笔记6函数和代码复用

                  1、函数

                      (1)定义:

                           

                  

                  

                (2)函数调用

                 

                   

                  (3)函数的参数传递

                   

                      

                    

                 

                 

                   参数传递的两种方式:函数调用时,参数可以按照位置或名称的方式传递

                 

                (4)函数的返回值

                

                       

                 (5)局部变量和全局变量

                 

                  

                  

                 

                  

                

                 

                

                    (6)lambda函数

                    

                

                 

                       2、实例:七段数码管的绘制

                        

                 

                  

                    

                     

                      

                    

                   

     1 import turtle
     2 def drawLine(draw):
     3     turtle.pendown() if draw else turtle.penup()
     4     turtle.fd(40)
     5     turtle.right(90)
     6 def drawDigit(digit):
     7     drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
     8     drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
     9     drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    10     drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    11     turtle.left(90)
    12     drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    13     drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    14     drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    15     turtle.left(180)
    16     turtle.penup()
    17     turtle.fd(20)
    18 def drawDate(date):
    19     for i in date :
    20         drawDigit(eval(i))
    21 def main():
    22     turtle.setup(800,350,200,200)
    23     turtle.penup()
    24     turtle.fd(-300)
    25     turtle.pensize(5)
    26     drawDate('20181010')
    27     turtle.hideturtle()
    28     turtle.done()
    29 main()

                  运行结果:

                     

              

                                

                         

                        

                       

                 

                 

     1 import turtle,time
     2 def drawGap():
     3     turtle.penup()
     4     turtle.fd(5)
     5 def drawLine(draw):
     6     drawGap()
     7     turtle.pendown() if draw else turtle.penup()
     8     turtle.fd(40)
     9     drawGap()
    10     turtle.right(90)
    11 def drawDigit(digit):
    12     drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
    13     drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    14     drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    15     drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    16     turtle.left(90)
    17     drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    18     drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    19     drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    20     turtle.left(180)
    21     turtle.penup()
    22     turtle.fd(20)
    23 def drawDate(date):
    24     turtle.pencolor("red")
    25     for i in date :
    26         if i == '-':
    27             turtle.write("",font=("Arial", 18, "normal"))
    28             turtle.pencolor("green")
    29             turtle.fd(40)
    30         elif i == '=':
    31             turtle.write("",font=("Arial", 18, "normal"))
    32         elif i == '+':
    33             turtle.write("",font=("Arial", 18, "normal"))
    34         else:
    35             drawDigit(eval(i))
    36 def main():
    37     turtle.setup(800,350,200,200)
    38     turtle.penup()
    39     turtle.fd(-300)
    40     turtle.pensize(5)
    41     drawDate(time.strftime("%Y-%m=%d+",time.gmtime()))
    42     #drawDate('20181010')
    43     turtle.hideturtle()
    44     turtle.done()
    45 main()
    

                   运行结果:(不知道问题出在哪里了)

                   

                   

                  

                     

         

                 

              

                    

                     

                 

  • 相关阅读:
    Java内存模型
    Thread.sleep(0)的作用
    Java中用到的线程调度算法是什么
    怎么检测一个线程是否持有对象监视器
    为什么要使用线程池
    ThreadLocal
    生产者消费者模型的作用
    线程间通信
    线程安全
    c#常日期转换(转)
  • 原文地址:https://www.cnblogs.com/lcy1995/p/10791959.html
Copyright © 2011-2022 走看看