11.25补

#!/usr/bin/env python
# coding: utf-8

# # 22.函数

# ## (1)定义:
#      (1)是有特定功能可重复使用的代码块
#      (2)作用是降低编程难度和代码复用。
#      (3)先定义再调用最后才执行。
#      (4)格式:
#          def<函数名>(参数(0个或多个)):
#            <函数体>
#            return 返回值或表达式
#      (5)形式参数和实际参数(形参和实参)
#       形参:定义函数里面的参数
#       实参:在键盘上输入对应的函数值
#       一定是实参传给形参
#      (6)全局变量和局部变量(变量名相同时易混淆)
#       全局变量:在主体程序里的变量
#       局部变量:在定义函数里的变量

# ## (2)函数的分类:
#      (1)内建函数
#      (2)库函数
#      (3)自定义函数
#     

# eg.1TempConvert

# In[1]:


T_S=input('请输入带符号的温度值:')


# In[21]:


if (TempStr[-1]in['F','f']):
    C=(eval(TempStr[0:-1])-32)/1.8
    print('转换后的温度值:{:.2f}C'.format(C))
elif (TempStr[-1] in ['C','c']):
    F=eval(TempStr[0:-1])*1.8+32
    print('转换后的温度值:{:.2f}F'.format(F))
else :
    print('输入数据错误!')


# #### eg2.计算n!

# In[28]:


def fact(n):
    N=1
    for i in range(1,n+1):
        N=N*i
    print(N)
    return fact(N)


# In[29]:


fact(2)


# In[30]:


fact(5)


# In[31]:


fact(10000)


# # 11.25
# (4)参数
#        默认参数:给形参赋初值
#        位置参数:形参与实参顺序位置一致
#        关键字参数:形参与实参变量名相同并赋值,顺序可以不相同
#        可变长度参数:参数个数可变,在参数前加一个*或两个**
#                 一个*:多个位置参数放在一个元组中;
#                 两个**:多个关键参数放在一个字典中)
#                 序列解包参数(实参):实参为列表或元组时进行解包
#                 

# In[13]:


def myfunc(x,y=10,*z1,**z2):
    Sum1=x+y
    Sum2=0
    Sum3=0
    for i in range(len(z1)):
        Sum2=Sum2+z1[i]
    for j in z2.values():
        Sum3=Sum3+j
    return Sum1,Sum2,Sum3,z1,z2,x,y


# In[14]:


myfunc(10,100,1,10,20,30,y1=10,y2=20,y3=30)


# In[15]:


def myfunc(x,y=10,*z1,**z2):
    t1=x+y
    t2=0
    t3=0
    for i in range(len(z1)):
        t2=t2+z1[i]
    for j in z2.values():
        t3=t3+j
    return t1,t2,t3,x,y


# # eg:七段电子管绘制
# 导入库函数
#      三种格式:
#          (1)import 库名
#                  库名.函数方法(参数)
#          (2)import 库名 as 自定义简写库名
#                  简写库名.函数方法(参数)
#          (3)from  库名 import 函数名或者*
#                  函数方法(参数)
#                  

# 函数的分类:
#          (1)内律函数:安装软件自带,直接调用无需导入
#          (2)库函数:标准函数(安装软件自带,但需要导入)和第三方函数(自定义安装且导入)
#          (3)自定义函数:自己编写的功能代码块

# In[2]:


from turtle import *


# ——绘制七段线数码管数字“8”

# In[3]:


pensize(5)
pencolor('purple')
fd(80)
right(90)
fd(80)
right(90)
fd(80)
right(90)
fd(80)
fd(80)
right(90)
fd(80)
right(90)
fd(80)
hideturtle()
done()


# In[4]:


def drawLine(draw):
    if draw:
         pendown()
    else:
        penup()
    fd(80)
    right(90)


# In[5]:


def drawLine(draw):
    pendown() if draw else penup()
    fd(80)
    right(90)


# In[ ]:

# 二,绘制0-9 十个数字中需要用到1-7线段

# In[6]:


def drawDigit(i):
    drawLine(True) if i in [2,3,4,5,6,8,9,] else drawLine(False)
    drawLine(True) if i in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if i in [0,2,3,5,6,8,] else drawLine(False)
    drawLine(True) if i in [0,2,6,8] else drawLine(False)
    left(90)
    drawLine(True) if i in [0,4,5,6,8,9,] else drawLine(False)
    drawLine(True) if i in [0,2,3,5,6,8,9,] else drawLine(False)
    drawLine(True) if i in [0,1,2,3,4,7,8,9,] else drawLine(False)
    left(180)
    
    penup()
    fd(20)
    


# In[7]:


def drawDate(date):
    for i in date:
        drawDigit(eval(i))


# In[8]:


def main():
    setup(1000,360,200,200)
    penup()
    fd(-400)
    pensize(5)
    pencolor('red')
    drawDate('20211125')
    hideturtle()
    done()


# In[9]:


main()


# In[ ]:

# In[ ]:

# In[ ]:

# In[ ]:

# In[ ]:

# In[ ]:

# In[ ]:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值