首页 > 编程语言 >python: generator

python: generator

时间:2023-06-11 15:33:57浏览次数:50  
标签:return generator python args param range print def

a=10

def addgoled():
    global a
    a+=1
dd=[{'name':'zhang','age':10},
   {'name':'tu','age':13}]

d={'name':'zhang','age':10}

def adddict():
    global d
    #for a in d.values():
    d['age']+=1

#
addgoled()
print(a)

adddict()
for k,v in d.items():
    print(k,v)


list1=[]
for i in range(1,11):
    list1.append(i)

for i in range(1,11):
    if i%3==0:
        list1.append(i)

print(list1)

list2=[i for i in range(1,11)]

list4=[i*i for i in range(1,6)]
print(list4)
list5=[i*i for i in range(1,11) if i%2==0]
print(list5)

list2=[i for i in range(1,11) if i%3==0]
print(list2)



l1=['Hello','GOOD','ABC','kkh']
l2=[]
for i in l1:
    l2.append(i.lower())
print(l2)
#生成器
l8=[i.lower() for i in ['Hello','GOOD','ABC','kkh']]

print(l8)
l3=[]
a=['A','B','C']
b=['X','Y','Y']
for k in a:
    for j in b:
        l3.append(k+j)

print(l3)
#生成器
#l9=[k+j for k in a for j in b]
l9=[k+j for k in ['A','B','C'] for j in ['X','Y','Y']]
print(l9)



#奇数
list3=[i for i in range(1,10) if i%2!=0]
print(list3)

list4=[i for i in range(1,10) if (i%2!=0)&(i<5)]
print(list4)

  

 

'''
drawrect.py file
editor: geovindu, Geovin Du
date: 2023-06-11
'''

import turtle as t

def drawonerect(x,y,side):
    """
    画正方形
    :param x:
    :param y:
    :param side:
    :return:
    """
    t.penup()
    t.goto(x,y)
    t.pendown()
    for _ in range(4):
        t.fd(side)
        t.right(90)

def drawfourrect(x,y,side):
    """

    :param x:
    :param y:
    :param side:
    :return:
    """
    side /=2
    plist=[(x,y),(x+side,y),(x,y-side),(x+side,y-side)]  #元祖拆包
    for a in plist:
        drawonerect(*a,side)

  

 

'''
Simple.py file
editor: geovindu, Geovin Du
date: 2023-06-11
'''
import sys
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'])



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 keyfunctiontype(a:int,b:int)->int:  #None 返回值为int 类型
    """
    指定数据类型
    :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]}') # 格式化输出

def generator():
    list1 = []
    for i in range(1, 11):
        list1.append(i)

    for i in range(1, 11):
        if i % 3 == 0:
            list1.append(i)

    print(list1)

    list2 = [i for i in range(1, 11)]

    list4 = [i * i for i in range(1, 6)]
    print(list4)
    list5 = [i * i for i in range(1, 11) if i % 2 == 0]
    print(list5)

    list2 = [i for i in range(1, 11) if i % 3 == 0]
    print(list2)

    l1 = ['Hello', 'GOOD', 'ABC', 'kkh']
    l2 = []
    for i in l1:
        l2.append(i.lower())
    print(l2)
    # 生成器
    l8 = [i.lower() for i in ['Hello', 'GOOD', 'ABC', 'kkh']]

    print(l8)
    l3 = []
    a = ['A', 'B', 'C']
    b = ['X', 'Y', 'Y']
    for k in a:
        for j in b:
            l3.append(k + j)

    print(l3)
    # 生成器
    # l9=[k+j for k in a for j in b]
    l9 = [k + j for k in ['A', 'B', 'C'] for j in ['X', 'Y', 'Y']]
    print(l9)

    # 奇数
    list3 = [i for i in range(1, 10) if i % 2 != 0]
    print(list3)

    list4 = [i for i in range(1, 10) if (i % 2 != 0) & (i < 5)]
    print(list4)

  

 

标签:return,generator,python,args,param,range,print,def
From: https://www.cnblogs.com/geovindu/p/17472983.html

相关文章

  • 实验6 turtle绘图与python库应用编程体验
    task1_11fromturtleimport*234defmove(x,y):5penup()6goto(x,y)7pendown()8910defdraw(n,size=100):11foriinrange(n):12fd(size)13left(360/n)141516defmain():17pensize(2)18......
  • Linux下安装python3.7.9
    操作系统与原有python[pythondemo@localhost~]$cat/etc/centos-releaseCentOSLinuxrelease7.4.1708(Core)[pythondemo@localhost~]$pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type"help",......
  • python第一次cli程序的坑
    错误一:appacheerror记录到错误:AH01215:(13)Permissiondenied:execof'/var/www/cgi-bin/cli_test.py'failed1.对应程序加上执行权限2.selinux=disable3.指定安全上下文 chcon-R-thttpd_sys_content_t/var/www/cgi-bin这三个方法可以试一下错误二:malformedheade......
  • 【技术积累】Python中的Pandas库【三】
    什么是SeriesSeries是一种带有标签的一维数组,可以容纳各种类型的数据(例如整数,浮点数和字符串)。每个Series对象都有一个索引,它可以用来引用每个元素。Series对象的主要特征是可以进行矢量化操作(即一次对整个序列进行操作),因此非常适合处理数值数据。什么是DataFrame?DataFrame是一......
  • Python实现猜拳小游戏的多种方式
    简介猜拳小游戏是一个经典的小游戏项目,也是初学者学习编程的必要练手题目之一。在Python中,我们可以使用多种方式来实现一个简单的猜拳小游戏。本文将依次介绍六种Python实现猜拳小游戏的方法,包括:使用if-else条件语句、使用random模块、使用字典映射胜负关系、for循环、whi......
  • python数组避坑操作(比如删除数组中的所有0)
    一、演示坑tracks=[0,0,0,1,1,1]fortrackintracks:iftrack==0:tracks.remove(track)print(tracks)#[0,1,1,1]发现:有一个0没有被删去,why???二、这次遍历时,带上索引打印tracks=[0,0,0,1,1,1]forindex,trackinenumerate(tracks......
  • python变量前的星号
    变量前单星号表示将参数转化成元组变量前双星号表示将参数转化成字典函数传参顺序从左到右(一般):位置参数、默认参数、单星号参数、关键字传参、双星号参数传参解压功能单星号对list或元组进行解压,输入的参数不是一个list或元组,而是其中的元素。双星号对字典进......
  • python整型/字符串/浮点 地址
    相同整数/浮点数/字符串-同一内存地址不同整数/浮点数/字符串-不同内存地址......
  • 日报 python
    (一)、中国大学排名数据分析与可视化;(写到实验报告中)【源代码程序】importrequestsfrombs4importBeautifulSoupasbsimportpandasaspdfrommatplotlibimportpyplotasplt  defget_rank(url):   count=0   rank=[]   headers={     ......
  • 盘点一个Python自动化办公过程中Excel数据为空的处理
    大家好,我是皮皮。一、前言前几天在Python群,粉丝问了一个Python自动化办公的问题,这里拿出来给大家分享下。这个问题相信很多人都会遇到,原始Excel数据中,这个【编号】列一般是有相关数据的,但是如果没有的话,就先写为“暂无编号”,如下图所示:后来发现通过Python代码,将其写入到word文件,不......