python: function

 

def drawRectFour(x,y,side=100):
    """
     设计一个函数(x,y,side),绘制四个边长 side/2 的四边形,形成一个大的四边形
    :param x: X轴
    :param y: Y轴
    :param side:高
    :return: none
    """
    t.speed(1)
    z=side/2
    #第一个
    t.penup()
    t.goto(x, y)
    t.pendown()
    drawRect(x, y, side)
    #2
    t.penup()
    t.goto(x, y-z)
    t.pendown()
    drawRect(x, y, side)

    #3
    t.penup()
    t.goto(x+z, y)
    t.pendown()
    drawRect(x, y, side)

    #4
    t.penup()
    t.goto(x+z, y-z)
    t.pendown()
    drawRect(x,y,side)


def drawRect(x,y,side=100):
    """
    画四边形的动作
    :param x:X轴
    :param y:Y轴
    :param side:高
    :return:none
    """
    for _ in range(4):
        t.fd(side/2)
        t.right(90)

  

 

def drawRect(x, y, side=100):
    """
    画正方形 头部动作
    :param x: X座标值
    :param y: Y座标值
    :param side: 少输入这个参数值时,用默认参数
    :return:
    """
    t.penup()
    t.goto(x, y)
    t.pensize(1) #画线的宽度
    t.bgcolor("white") #背景色
    t.pencolor("red") #画笔的颜色,也是线条的颜色
    t.pendown()

def drawRectFour(x,y,side=100):
    """
     设计一个函数(x,y,side),绘制四个边长 side/2 的四边形,形成一个大的四边形
    :param x: X轴
    :param y: Y轴
    :param side:高
    :return: none
    """
    t.speed(1)
    z=side/2
    #第一个
    drawRect(x,y,side)
    drawReccFact(x,y,side)
    #2
    drawRect(x,y-z)
    drawReccFact(x, y, side)

    #3
    drawRect(x+z, y)
    drawReccFact(x, y, side)

    #4
    drawRect(x+z, y - z)
    drawReccFact(x, y, side)

def drawReccFact(x,y,side=100):
    """
    画四边形的动作
    :param x:X轴
    :param y:Y轴
    :param side:高
    :return:none
    """
    for _ in range(4):
        t.fd(side/2)
        t.right(90)

  

 

#调用
drawRectFour(-200,200,150)

  

 

 

# 设计一个函数(x,y,side),绘制四个边长 side/2 的四边形,形成一个大的四边形 DrawSquare.py 
import turtle as t


def originalShape(x,y,side=100):
    """
    画正方形 头部动作
    :param x: X座标值
    :param y: Y座标值
    :param side: 少输入这个参数值时,用默认参数
    :return:none
    """
    t.penup()
    t.goto(x, y)
    t.pensize(1) #画线的宽度
    t.bgcolor("white") #背景色
    t.pencolor("blue") #画笔的颜色,也是线条的颜色
    t.pendown()
    for _ in range(4):
         t.fd(side)
         t.right(90)


def draw_Square(x,y,side=100):
    """
    设计一个函数(x,y,side),绘制四个边长 side/2 的四边形,形成一个大的四边形 同学的
    :param x:X座标值
    :param y:Y座标值
    :param side:少输入这个参数值时,用默认参数
    :return:none
    """
    kx = [0, 0.5]
    ky = [0, -0.5]
    for i in ky:
        for j in kx:
            t.penup()
            t.pencolor("green")
            t.goto(x + j*side, y + i*side)
            t.pendown()
            for _ in range(4):
                t.fd(side / 2)
                t.right(90)
    ''' ok
    k = [0,0.5]
    for i in k:
        for j in k:
            t.penup()
            t.goto(x+j*side, y-i*side)
            t .pendown ()
            for _ in range(4):
                t.fd(side/2)
                t.right(90)
    '''

def drawRect(x, y, side=100):
    """
    画正方形 头部动作
    :param x: X座标值
    :param y: Y座标值
    :param side: 少输入这个参数值时,用默认参数
    :return:none
    """
    t.penup()
    t.goto(x, y)
    t.pensize(1) #画线的宽度
    t.bgcolor("white") #背景色
    t.pencolor("red") #画笔的颜色,也是线条的颜色
    t.pendown()

def drawRectFour(x,y,side=100):
    """
     设计一个函数(x,y,side),绘制四个边长 side/2 的四边形,形成一个大的四边形
    :param x: X轴
    :param y: Y轴
    :param side:高
    :return: none
    """
    t.speed(1)
    z=side/2
    #第一个
    drawRect(x,y,side)
    drawReccFact(x,y,side)
    #2
    drawRect(x,y-z)
    drawReccFact(x, y, side)

    #3
    drawRect(x+z, y)
    drawReccFact(x, y, side)

    #4
    drawRect(x+z,y-z)
    drawReccFact(x, y, side)

def drawReccFact(x,y,side=100):
    """
    画四边形的动作
    :param x:X轴
    :param y:Y轴
    :param side:高
    :return:none
    """
    for _ in range(4):
        t.fd(side/2)
        t.right(90)

  

 

 调用:

    #调用 DrawSquare.py 文件写的相函数代码
    DrawSquare.drawRectFour(200,200,100)#画的值好像有点不对,OK吧
    DrawSquare.originalShape(200, 200, 100)

    DrawSquare.draw_Square(200,200,100)

  

 

"""

"""

#这是一个示例 Python 脚本。

# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。 画正方形

import turtle as t

'''
t.speed(10)
t.ht()

t.pu()
t.goto(-100,100)
t.pendown()

for _ in range(4):
    t.fd(100)
    t.right(90)

t.mainloop()
'''

def drawRect(x,y,side=50):
    """
    画正方形
    :param x: X座标值
    :param y: Y座标值
    :param side: 少输入这个参数值时,用默认参数
    :return:
    """
    t.penup()
    t.goto(x, y)
    t.pendown()

    for _ in range(4):
        t.fd(side)
        t.right(90)

#有默认参数,可以不用传递
drawRect(10,50)
drawRect(10,50,80)

# 函数无参数
def printdem():
    """

    :return: none 返回无值
    """
    for i in range(1, 11):
        print(i, end=' ')
    print()

# 有参数函数
def printdemEndInt(n):
    """

    :param n:
    :return: none 返回无值
    """
    for i in range(1, n+1):
        print(i, end=' ')
    print()

#printdem()

#printdemEndInt(20)

# 被3整除的数
def findthree(number):
    """
    被3整除的数  (连敲三个双引号,现现六个,从三个中间敲回画,自动生成注择格式,再添加自定义注释,这样会自动提示注释
    PyCharm 2023.1.2  geovindu, Geovin Du 涂聚文
    :param number: 需要整除的整数的输入参数
    :return: 返回个数
    """
    num = 0
    for i in range(1, number+1):
        if(i%3==0):
            num = num + 1
            print("被3整除的数:",str(i))
    #print()
    return num

def numberoperater(n,m):
    """
    两个数的加减乘除
    :param n: 第一个数
    :param m: 第二个数
    :return: 返回值
    """
    sum=0
    sum=m+n
    print("和:",sum)
    print("减:",n-m)
    print("除:",n/m)
    print("乘:",n*m)
    return m+n,n-m,n/m,n*m

def unevenNumber(n,m):
    """
    计算从1到某个数以内的奇数的和并返回
    :param n: 起始的数1
    :param m: 最大的数
    :return: 返回奇的和


    """
    sum=0
    #for n in range(1,m+1,2)
    for i in range(n, m + 1):
        if (i % 2 != 0):
            sum+=i#sum=sum+i
            print(i)
    return sum


def evenNumber(nmuber):
    """
    判断某个数是否偶数
    :param nmuber: 输入整数
    :return: 返回结果为逻辑值
    """
    if(nmuber%2==0):
        return True
    else:
        return False

def ComparingNumbers(n,m):
    """
    比较两个数的大小,返回较大的一个
    :param n: 第一个数
    :param m: 第二个数
    :return: 返回最大的数
    """
   # return  a if a>b else b # 如三目运算

    if(n>m):
        print("第一个数大",n)
        return n
    elif(m>n):
        print("第二个数大",m)
        return m
    elif(m==n):
        print("一样大")
        return 0

def NumberEvenSum(n):
    """
    返回1至N的所有偶数的和,奇数的和
    :param n: 整数参数
    :return: 返回偶数的和,奇数的和
    """
    evensum=0 #偶数的和
    unevensum=0 #奇数的和
    for i in range(1, n + 1):
        if (i % 2 != 0):
            unevensum=unevensum+i
        if (i % 2 == 0):
            evensum = evensum + i
    return evensum,unevensum


def NumberEvenSum2(n):
    """
    返回1至N的所有偶数的和,奇数的和
    :param n: 整数参数
    :return: 返回偶数的和,奇数的和
    """
    evensum=0 #偶数的和
    unevensum=0 #奇数的和
    for i in range(1, n + 1, 2):
           unevensum += i
    for i in range(2, n + 1, 2):
           evensum += i
    return evensum,unevensum

def du(a):
    """
    如果函数没有返回值为none
    :param a:
    :return:
    """
    a=[1,2,3]
    a.append(40)
    return a

def duParameterPassing(a):
    """
    如果函数,这会传递参数  传递实参
    :param a:
    :return:
    """
    a.append(40)


def editDic(n):
    """
    修改年龄 传递形参
    :param a: 字典
    :return: none
    """
    oldage=a['age']

    #oldage=30
    n['age'] += 1
    print("old age",oldage,"new age:",a['age'])

a={'name':'张三','age':30}
editDic(a) # 传递实参, 也传递形参  还有位置参数,默认参数,关键字参数,不定参数
print(a)

def defaultfunction(a,b=100):
    """

    :param a:
    :param b:
    :return:
    """
    return a+b

def keyfunction(a,b):
    """

    :param a:
    :param b:
    :return:
    """
    print("a=",a,"b=",b)

def ParamArray(*args):
    """
    接受不定长的位置参数
    :param args:
    :return:
    """
    print(args,type(args))  #args 是元祖,把所有参数都放在args元祖里
    for i in args:
        print(i, end=' ')


def kwParamArray(**kwargs):
    """
    **kwargs 接受的是不定长的关键字参数 字典
    :param kwargs:
    :return:
    """
    print(kwargs)

def avgeParamArray(*args):
    """
    求不定长度的参数的整数的平均值
    :param args: 不定长的参数
    :return: 返回平均值
    """
    pass
    sum=0 #和
    n=len(args) #个数
    avg=0
    for i in args:
        sum += i
    avg = sum/n
    return avg

def avgeParamArray2(*args):
    """
    求不定长度的参数的整数的平均值
    :param args: 不定长的参数
    :return: 返回平均值
    """
    print(sum(args)/len(args))

def CitykwParamArray(**kwargs):
    """
    **kwargs 接受的是不定长的关键字参数 字典
    :param kwargs:
    :return:
    """
    for key in kwargs.keys():
        #print(kwargs.keys(),kwargs.values())
        print(key,kwargs[key])
    for key in kwargs:
        print(f'{key}={kwargs[key]}') # 格式化输出

# 个人信息打印
CitykwParamArray(name="刘杰",age=20,city="深圳市")

avg=avgeParamArray(10,15,20)
print("平均数:",avg)
#默认参数,可以不传递,如是两个参数,一个参数是默认的可以不传
print(defaultfunction(300))
#关键字参数
keyfunction(b=200,a=400)
#不定长参数
ParamArray(20,30,40,50)
#不定长字典参数
kwParamArray(a=10,b=30,c=50)


l1=[10,20,30]

s=du(l1)
print(l1)
print(s)
duParameterPassing(l1)
print(l1)

du=findthree(20)
print("被3整除的数的个数:",str(du))
result=numberoperater(8,10)
print("结果:",result)
print(result[1],result[2])

du2=unevenNumber(1,16)
print("奇数的和:",du2)

du3=evenNumber(14)
print("14是否为偶数:",du3)

du4=ComparingNumbers(5,8)
print("最的数是:",du4)

result2=NumberEvenSum(18)
print("偶数的和是:",result2[0])
print("奇数的和是:",result2[1])

# 元祖拆包  变量1,变量1=(数据1,数据2)
a,b=NumberEvenSum(18)
print("偶数的和是:",a,"奇数的和是:",b)

  

 

 

 

输出:

 

被3整除的数: 3
被3整除的数: 6
被3整除的数: 9
被3整除的数: 12
被3整除的数: 15
被3整除的数: 18
被3整除的数的个数: 6
和: 18
减: -2
除: 0.8
乘: 80
结果: (18, -2, 0.8, 80)
-2 0.8
1
3
5
7
9
11
13
15
奇数的和: 64
14是否为偶数: True
第二个数大 8
最的数是: 8
偶数的和是: 90
奇数的和是: 81
偶数的和是: 90 奇数的和是: 81

进程已结束,退出代码0

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章