Advertisement

python学习--for循环详解

阅读量:

一、使用for循环实现简单功能

复制代码
    '''
    乘法表
    1--9乘法表
    for循环实现数字遍历
    '''
    for i in range(1,10): # 行中
    
    for s in range(1,i+1):  # 列中
        print('%s X %s=%s   '%(s,i,s*i),end ='')
    print()
    '''
    星星
    实现星星以三角形排列
    '''
    for i in range(1,9):    # 行
    for s in range(len(range(1,9))-i):
        print(' ',end ='')
    for n in range(1,2*i):  # 列
        print('*',end = '')    
    print()

最近在学习Python教材。
博主创建了一个名为78486745的QQ群。
该群体旨在为用户提供方便的交流空间。

二、推导式:

列表推导式:

复制代码
    va=[rxp for out in list if (out 条件)]

获得两个列表交集

复制代码
    va3=[10,20,30,40]
    va4=[20,30,50,60,70]
    Va5=[ num for num in va3 if num in va4  ]

获得并集

复制代码
    va6=[ num for num in  va3 if num not in  va4 ]
    print(va6)
    print(va4+va6)

获得差集

复制代码
    va7=[ num for num in  va4 if num not in  va3 ]
    print(va7)

获得0-99之间的 奇数的二倍值

复制代码
    va2=[i*2 for i in range(100) if  i%2!=0 ]
    print('va2,',va2)

生成器 对象(元组推导式):

复制代码
    gen=( i for i in range(5)) 
    print(gen)
    
     #   for i in gen:
     #      print(i)

三,同样要求的三种不同解决方式

复制代码
    '''
    统计字符串中数字和字母的个数
    1.使用异常处理非数字 try...except
    2.使用内置函数判定非数字  isdigit()
    3.使用字符转换判断数字字母范围。
    ord() 字符转ascii码 chr() ascii码转字符
    '''
    
    
    str_for = 'adashgdkahfqa223354564'
    num = 0
    str_num = 0
    '''
    第一种
    '''
    for i in str_for:
    try:
        int(i)
        num +=1
    except ValueError:
        str_num +=1
    print('数字:',num,'\n''字母:',str_num)
    
    '''
    第二种
    '''
    num1 = 0
    str_num1 = 0
    for i in str_for:
    if i.isdigit() == True:
        num1 +=1
    else:
        str_num1 +=1
    print('数字:',num1,'\n''字母:',str_num1)
    
    '''
    第三种
    '''
    num2 = 0
    str_num2 = 0
    for i in str_for:
    if ord('0') < ord(i) <ord('9'):
        num2 +=1
    elif ord('a') <= ord(i) <=ord('z') or ord('A') <= ord(i) <= ord('Z'):
        str_num2 += 1
    print('数字:',num2,'\n''字母:',str_num2)

四、推导式解决【金额大小写转换,字典推导式练习】

复制代码
    list_num = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖']
    
    list_U = ['圆','拾','佰','仟','萬']
    input_num = input('输入数字:')
    len_U = len(input_num)
    num_info = [int(input_num)//10**i%10 for i in range(len_U-1,-1,-1)]
    for i in num_info:
    len_U -=1
    print('%s%s'%(list_num[i],list_U[len_U]),end = '')
    print('整')
    
    '''
    字典对象
    初始化定义数据
    把 Key是 str类型
    长度大于等于5的信息获取
    用推导式
    '''
    dict_1 = {'a':12,123:'abcd','12345':True,'sadasdds':'18895','asd':'d'}
    dict_infer = {k:v for k,v in dict_1.items() if type(k) ==str and len(k) >= 5}
    print(dict_infer)

【搜索圆方圆,获得“python教程”,“python下载”,“python入门”类相关信息。】

全部评论 (0)

还没有任何评论哟~