zoukankan      html  css  js  c++  java
  • python,寻找班级里面名字最长的人

    寻找班级里面名字最长的人 我有一串字符串人名:names=(' Kunpen Ji, Li XIAO, Caron Li,' ' Dongjian SHI, Ji ZHAO, Fia YUAN Y,' ' Wenxue DING, Xiu XU, Haiying WANG, Hai LIN,' ' Jey JIANG, Joson WANG E,' ' Aiyang ZHANG, Haiying MENG,' ' Jack ZHANG E, Chang Zhang, Coron ZHANG') ,我希望能做到下面3点: 问题1:排序,按照姓名A-Z排序 问题2:找出里面姓”ZHANG”有几个 问题3:找出名字里面最长的人

    # !/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:Hiuhung Wan
    
    names = (' Kunpen Ji, Li XIAO, Caron Li,'
           ' Dongjian SHI, Ji ZHAO, Fia YUAN Y,'
           ' Wenxue DING, Xiu XU, Haiying WANG, Hai LIN,'
           ' Jey JIANG, Joson WANG E,'
           ' Aiyang ZHANG, Haiying MENG,'
           ' Jack ZHANG E, Chang Zhang, Coron ZHANG')
    
    '''
    问题1:排序,按照姓名A-Z排序
    问题2:找出里面姓”ZHANG”有几个
    问题3:找出名字里面最长的人       # 这里计算的是去掉空格后的。
    '''
    list_name = names.split(",")
    for i in range(len(list_name)):
        list_name[i] = list_name[i].lstrip()   # 去掉左边的空格
    list_name.sort()
    print(list_name)   # 问题1
    
    list_temp = []
    for i in list_name:
        if "ZHANG" in i.upper():
            list_temp.append(i)
    print("姓'ZHANG'的有%s个,分别是:%s" % (len(list_temp), list_temp))  # 问题2
    
    dict0 = {}
    list_name_copy = list_name[:]
    for i in range(len(list_name_copy)):
        list_name_copy[i] = list_name_copy[i].replace(" ", "")   # 去掉中间的空格
        dict0[list_name_copy[i]] = len(list_name_copy[i])    # 以“姓名:长度”组成的字典
    list_len = list(dict0.values())   # 所有的值,组成的列表
    max_num = max(list_len)   # 取最大值
    #print(max_num)   # 11
    list_temp = []
    for i in list_name:
        j = i.replace(" ", "")    # 去掉空格
        if len(j) == max_num:
            list_temp.append(i)
    print("名字最长的有%s个,分别是:%s" % (len(list_temp), list_temp))   # 问题3
    

      结果如下:

    ['Aiyang ZHANG', 'Caron Li', 'Chang Zhang', 'Coron ZHANG', 'Dongjian SHI', 'Fia YUAN Y', 'Hai LIN', 'Haiying MENG', 'Haiying WANG', 'Jack ZHANG E', 'Jey JIANG', 'Ji ZHAO', 'Joson WANG E', 'Kunpen Ji', 'Li XIAO', 'Wenxue DING', 'Xiu XU']
    姓'ZHANG'的有4个,分别是:['Aiyang ZHANG', 'Chang Zhang', 'Coron ZHANG', 'Jack ZHANG E']
    名字最长的有4个,分别是:['Aiyang ZHANG', 'Dongjian SHI', 'Haiying MENG', 'Haiying WANG']
    
    Process finished with exit code 0
    

      

  • 相关阅读:
    什么叫开漏输出
    PIC16F877A TIMER1计数操作
    [转载]【Alientek STM32 实验2】按键输入
    STM32学习笔记1 IO口学习
    时间“四象限”法
    CLANNAD AFTER STORY 片头曲 「铭刻时间的歌」
    正则表达式测试工具
    War3窗口限定小工具发布
    利用ffmpeg转换mp4文件
    一个类似FlashGet的c#开源下载工具
  • 原文地址:https://www.cnblogs.com/hiuhungwan/p/10539812.html
Copyright © 2011-2022 走看看