【摘要】 【问题描述】
将下面的字符串根据顿号分解成一个站名列表
“堰桥、锡北运河、西漳、天一、刘潭、庄前、民丰、无锡火车站、胜利门、三阳广场、南禅寺、谈渡桥、太湖广场、清名桥、人民医院、华清大桥、扬名、南湖家园、塘铁桥、金匮公园、市民中心、文化宫、江南大学、长广溪”
按下面的输入形式提示用户输入
利用列表生成式,进行统计:
①若用户输入的是汉字,则统计无锡地铁一号线带…
【问题描述】
将下面的字符串根据顿号分解成一个站名列表
“堰桥、锡北运河、西漳、天一、刘潭、庄前、民丰、无锡火车站、胜利门、三阳广场、南禅寺、谈渡桥、太湖广场、清名桥、人民医院、华清大桥、扬名、南湖家园、塘铁桥、金匮公园、市民中心、文化宫、江南大学、长广溪”
按下面的输入形式提示用户输入
利用列表生成式,进行统计:
①若用户输入的是汉字,则统计无锡地铁一号线带有该汉字的站名个数,并生成由这些站名组成的一个列表
②若输入的是数字,则统计无锡地铁一号线站名长度超过该数值的站名个数,并生成由这些站名组成的一个列表
【输入形式】
请输入一个汉字或数字
【输出形式】
【样例输入】
【样例输出】
无锡地铁一号线站点
[‘堰桥’, ‘锡北运河’, ‘西漳’, ‘天一’, ‘刘潭’, ‘庄前’, ‘民丰’, ‘无锡火车站’, ‘胜利门’, ‘三阳广场’, ‘南禅寺’, ‘谈渡桥’, ‘太湖广场’, ‘清名桥’, ‘人民医院’, ‘华清大桥’, ‘扬名’, ‘南湖家园’, ‘塘铁桥’, ‘金匮公园’, ‘市民中心’, ‘文化宫’, ‘江南大学’, ‘长广溪’]
请输入一个汉字或数字广
无锡地铁一号线带有广字的站名共有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
文章来源: blog.csdn.net,作者:Star_Pro,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/m0_45834939/article/details/116088909