统计地铁一号线站点Python

【问题描述】

将下面的字符串根据顿号分解成一个站名列表

“堰桥、锡北运河、西漳、天一、刘潭、庄前、民丰、无锡火车站、胜利门、三阳广场、南禅寺、谈渡桥、太湖广场、清名桥、人民医院、华清大桥、扬名、南湖家园、塘铁桥、金匮公园、市民中心、文化宫、江南大学、长广溪”

按下面的输入形式提示用户输入

利用列表生成式,进行统计:

①若用户输入的是汉字,则统计无锡地铁一号线带有该汉字的站名个数,并生成由这些站名组成的一个列表

②若输入的是数字,则统计无锡地铁一号线站名长度超过该数值的站名个数,并生成由这些站名组成的一个列表

【输入形式】

请输入一个汉字或数字

【输出形式】

【样例输入】

【样例输出】

无锡地铁一号线站点

[‘堰桥’, ‘锡北运河’, ‘西漳’, ‘天一’, ‘刘潭’, ‘庄前’, ‘民丰’, ‘无锡火车站’, ‘胜利门’, ‘三阳广场’, ‘南禅寺’, ‘谈渡桥’, ‘太湖广场’, ‘清名桥’, ‘人民医院’, ‘华清大桥’, ‘扬名’, ‘南湖家园’, ‘塘铁桥’, ‘金匮公园’, ‘市民中心’, ‘文化宫’, ‘江南大学’, ‘长广溪’]

请输入一个汉字或数字广

无锡地铁一号线带有广字的站名共有3个,它们是

[‘三阳广场’, ‘太湖广场’, ‘长广溪’]

或者

无锡地铁一号线站点

[‘堰桥’, ‘锡北运河’, ‘西漳’, ‘天一’, ‘刘潭’, ‘庄前’, ‘民丰’, ‘无锡火车站’, ‘胜利门’, ‘三阳广场’, ‘南禅寺’, ‘谈渡桥’, ‘太湖广场’, ‘清名桥’, ‘人民医院’, ‘华清大桥’, ‘扬名’, ‘南湖家园’, ‘塘铁桥’, ‘金匮公园’, ‘市民中心’, ‘文化宫’, ‘江南大学’, ‘长广溪’]

请输入一个汉字或数字4

无锡地铁一号线站名超过4个字的共有1个,它们是

[‘无锡火车站’]

【python代码】

# 查找汉字的函数
def findHanzi(a,ch):
    m = len(a)
    for i in range(m):
        if ch == a[i]:
            return True
    return False

s = "堰桥、锡北运河、西漳、天一、刘潭、庄前、民丰、无锡火车站、胜利门、三阳广场、南禅寺、谈渡桥、太湖广场、清名桥、人民医院、华清大桥、扬名、南湖家园、塘铁桥、金匮公园、市民中心、文化宫、江南大学、长广溪"
X = list(s.split('、'))
n1 = len(X)
list1 = [0 for i in range(n1)]
ch = input()
print("无锡一号线站点")
print(X)

k = 0
if ch>'0' and ch<'9':
    n = int(ch)
    for i in range(n1):
        if len(X[i]) > n:
            list1[k] = X[i]
            k += 1
    print("无锡地铁一号线站名超过{}个字的共有{}个,它们是".format(n,k))
    print(list1[:k])
else:
    for i in range(n1):
        if findHanzi(X[i],ch):
            list1[k] = X[i]
            k += 1
    print("无锡地铁一号线带有{}字的站名共有{}个,它们是".format(ch, k))
    print(list1[:k])

【样例测试】
输入 广 字
在这里插入图片描述
输入数字 3
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值