Python学习笔记6函数和代码复用
1、函数
(1)定义:
(2)函数调用
(3)函数的参数传递
参数传递的两种方式:函数调用时,参数可以按照位置或名称的方式传递
(4)函数的返回值
(5)局部变量和全局变量
(6)lambda函数
2、实例:七段数码管的绘制
- import turtle
- def drawLine(draw):
- turtle.pendown() if draw else turtle.penup()
- turtle.fd(40)
- 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):
- for i in date :
- drawDigit(eval(i))
- def main():
- turtle.setup(800,350,200,200)
- turtle.penup()
- turtle.fd(-300)
- turtle.pensize(5)
- drawDate('')
- turtle.hideturtle()
- turtle.done()
- main()
运行结果:
- 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"))
- 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()))
- #drawDate('20181010')
- turtle.hideturtle()
- turtle.done()
- main()
运行结果:(不知道问题出在哪里了)
Python学习笔记6函数和代码复用的更多相关文章
- Python学习笔记(五)函数和代码复用
函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...
- Python学习笔记之函数
这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...
- 小甲鱼:Python学习笔记003_函数
>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...
- Python学习笔记009—函数
1. 空函数 如果想定义一个什么事也不做的空函数,可以用pass语句: def nop(): pass pass语句什么都不做,那有什么用?实际上pass可以用来作为占位符,比如现在还没想好怎么写函数 ...
- Python学习笔记 - day6 - 函数
函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...
- Python学习笔记:函数详解(下)
本文介绍:高阶函数,嵌套函数,以及由前面两个组成的装饰器 一.高阶函数:以下两种情况都是高阶函数 1.将函数名当成参数传递给另外一个函数(作用:不修改被传递函数源代码就可以添加新功能): impo ...
- Python学习笔记系列——函数
今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...
- python学习笔记(四):函数
一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...
- python学习笔记:函数
一.函数是什么 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasca ...
随机推荐
- Centos7下GlusterFS 分布式文件系统环境搭建
Centos7下 GlusterFS 环境搭建准备工作glusterfs-3.6.9.tar.gzuserspace-rcu-master.zip三台服务器:192.168.133.53.192.16 ...
- 软件推荐----数据库数据处理Navicat Premium
一般情况下,企业对数据库的管控很严,通常管控分成以下: 对整台服务器管理权限,如:操作系统Administrator+SA 对单个数据库(Oracle的表空间)完全权限,如:SQL DB_Owner ...
- 集成学习(ensemble learning)
集成学习,又称为“多分类器系统”(multi-classifier system).“基于委员会的学习”(committee-based learning)等.基本的想法是结合多个学习器,获得比单一学 ...
- Linux 版 SecureCRT 界面变为 Windows 2000 风格的解决办法
SecureCRT 是一款非常好用的远程终端连接软件,支持 Windows.Linux.macOS 全平台.由于现在工作平台主要在 Linux 系统上,SecureCRT 也是必备软件.一开始安装的是 ...
- 二、Python发展始
1989年的圣诞节,Guido开始编写Python语言的编译器.Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus.他希望这个新的叫做Pytho ...
- Could not create local repository at /home/yizhenn/.m、IDEA倒入maven项目无法导报问题
问题描述: 用自己电脑新搭建环境,用idea倒入项目后发现无法倒入jar包,很少郁闷,折腾了很久,最终发现问题 settings文件中下面这个配置,需要是自己电脑的路径 <localReposi ...
- 封装poi导出篇
前言 先写的导入,以为导出会很简单,没想到导出的东西也不少,基于常用的几种样式和校验写了一个简单的导出,包括时间,数字,文字长度,下拉框,提示框校验,基础样式包括字体,字体颜色,背景颜色等功能,可以使 ...
- wechat-plus 使用node开发微信公众号
github:https://github.com/liuyinglong/node-wechatnpm:https://www.npmjs.com/package/wechat-plus insta ...
- 稀疏矩阵 part 5
▶ 目前为止能跑的所有代码及其结果(2019年2月24日),之后添加:DIA 乘法 GPU 版:其他维度的乘法(矩阵乘矩阵):其他稀疏矩阵格式之间的相互转化 #include <stdio.h& ...
- 6. spring启动类配置问题
1. @SpringBootApplication(scanBasePackages={"com.example.*"}) 相当与 @SpringBootApplication @ ...