当前位置: 首页 > news >正文

网站项目建设计划免费培训课程

网站项目建设计划,免费培训课程,邢台集团网站建设报价,潍坊昌大建设集团网站函数的定义 函数是一段代码的表示 函数是一段具有特定功能的、可重用的语句组 函数是一种功能的抽象,一般函数表达特定功能 两个作用:降低编程难度 和 代码复用 求一个阶乘 fact就是 函数名 n就是参数 return就是输出部分即返回值 而函数的调用就是…

函数的定义

函数是一段代码的表示

函数是一段具有特定功能的、可重用的语句组

函数是一种功能的抽象,一般函数表达特定功能

两个作用:降低编程难度 和 代码复用

求一个阶乘

 fact就是 函数名 n就是参数 return就是输出部分即返回值

而函数的调用就是函数名()即调用 函数调用之后得到返回值 

函数是ipo的实现,也是完整代码的封装

必须要有的参数放在前面,你要先给它值,而可以有可以没有的让它放在后面,这是一种约定 或者是强制约定

 这个就是可选参数,你没有给它传值,它就按照默认的执行

  这样就可以求n!*m!值了,只需要在定义的时候使用*,这样你在传参的时候就可以声明多个参数了相当于*m=(2,3,2)

 就是一个指定了名字

如果要在return中返回多个返回值,可以在参数直接使 用分割 

 

 

 就是说即使我们定义的这个函数中,没有使用global声明,但是经过这个函数的调用,我们已经修改了全局变量添加了c 

其实组合数据类型在python中是由指针来体现的,所以函数中如果没有真实创建组合类型,它使用的变量是使用的指针,而指针指的是外部的全局变量,所以你去修改这个指针对应的内容,就修改了全局变量

 

 

 

 

谨慎使用lambda函数 

七段数码管绘制

 

 

 

#!/usr/bin/env python
# -- coding: utf-8 --
# @Time : 2023/3/25 12:32
# @File : 七段数据管.py
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))  #通过eval()函数将数字变为整数
def main():turtle.setup(800, 350, 200, 200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate('20230325')turtle.hideturtle()turtle.done()
main()

这段代码是一个使用turtle库绘制七段数码管的程序,可以根据传入的日期数字在窗口中绘制对应的数字。

具体来说,程序中定义了三个函数:

drawLine(draw):绘制单段数码管,如果draw为True,则绘制实线,否则绘制虚线。
drawDigit(digit):根据数字绘制七段数码管,根据数字的不同,调用不同的绘制单段数码管的方法来绘制对应的七段数码管。
drawDate(date):获得要输出的数字,通过eval()函数将数字变为整数,遍历日期数字并绘制对应的数字。
在main函数中,首先设置了绘图窗口的大小和位置,然后调用drawDate函数绘制数字,并最终隐藏turtle并显示绘图结果。

需要注意的是,该代码使用了eval()函数,这会将传入的字符串作为表达式求值,存在一定的安全隐患,因此在实际应用中需要注意数据来源的可信性。

优化后的代码

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(d): #根据数字绘制七段数码管drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)drawLine(True) if d in [0,2,6,8] else drawLine(False)turtle.left(90)drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)drawLine(True) if d 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("blue")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(-350)turtle.pensize(5)
#    drawDate('2018-10=10+')drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))turtle.hideturtle()turtle.done()
main()

 添加了 drawGap() 函数来绘制数码管间隔,使得绘制出的数字更加美观。
修改了 drawLine() 函数,使得绘制单段数码管时会调用 drawGap() 函数绘制数码管间隔。
修改了 drawDate() 函数,使得绘制出的数字中,年月日之间的间隔更加明显,并且添加了字体和字号,使得绘制出的数字更加美观。
使用了 time 模块来获取当前日期,并将其作为参数传递给 drawDate() 函数,使得可以绘制出当前日期。

http://www.ds6.com.cn/news/9979.html

相关文章:

  • 北医三院生殖科做试管的网站有人看片吗免费的
  • 网站建设与规划实验总结网站分析报告
  • asp iis设置网站路径免费seo推广软件
  • 企业网站设计的特点百度推广登陆网址
  • 织梦网站地图底部互联网推广是什么工作内容
  • net网站开发找那家济南优化哪家好
  • 做计算机网站有哪些功能长沙seo网站
  • 模板网站 可以做推广吗线上运营推广
  • 建设手机网站如何做一个自己的电商平台
  • 视频网站建设服务计算机培训机构排名前十
  • 音乐网站模板免费源码百度号注册官网
  • 太原手机模板建站百度seo优化排名软件
  • 做网站都需要哪些软硬件网站销售怎么推广
  • 网站更改文章标题网站推广途径和推广要点
  • 油价格今日价咖啡seo是什么意思
  • 做网站如何选择关键词百度霸屏推广靠谱吗
  • 网站可分为哪两种类型网站推广计划书范文500字
  • 网站建网站建设如何建网站教程
  • 网站建设好推荐网址域名大全
  • 二字顺口名字公司百度seo运营工作内容
  • 建设报名系统官方网站河南省人民政府
  • 企业做淘宝客网站有哪些免费优化网站
  • 黄浦网站推广公司网络营销常用工具
  • wordpress 电影百度网站如何优化排名
  • 丰台青岛网站建设大冶seo网站优化排名推荐
  • 网站开发主要学些什么软件网站制作厂家有哪些
  • 网站开发年终总结可以搜索任何网站的浏览器
  • 域名自动跳转其他网站制作网站需要什么软件
  • 网站开发的基础是什么南宁seo外包要求
  • 如何建立网站教材网站推广排名收费