栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[python基础练习题]根据以下规律构造一个函数根据input,返回output, 该函数能应对各种情况,包括引入新字母和新单词还有新长度情况

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[python基础练习题]根据以下规律构造一个函数根据input,返回output, 该函数能应对各种情况,包括引入新字母和新单词还有新长度情况

题目:

根据以下规律构造一个函数根据input,返回output, 该函数能应对各种情况,包括引入新字母和新单词还有新长度情况

input:pattern = “abaa”, str = “apple orange apple apple”
output: true

整体思路:

首先可以看到input里面是字符类型,用列表可以识别出来每个字符,同时我们只需要双引号里面的内容进行匹配。
推荐思路:

  1. 识别逗号,把匹配规则和匹配对象分开成两个;
  2. 识别等于号=然后提取=后面的;
  3. 识别双引号里面的内容进行对应
核心代码

第一步

parttern = input_str.split(",")[0]
p_str = input_str.split(",")[1]

第二步:

a = list(parttern.split("=")[1][1:][1: -1])
b = p_str.split("=")[1][1:][1: -1].split(" ")
if len(a) != len(b):
    print("字符串格式输入错误,请重新输入")
else:
    a_dict = {}

第三步:

for index, a_n in enumerate(a):
    a_lists = a_dict.get(a_n)
    if a_lists is None:
       a_dict[a_n] = [index]
    else:
       a_lists.append(index)

for key in a_dict.keys():
   value = a_dict.get(key)[0]
   simiary = b[value]
for index, b_n in enumerate(b):
   if b_n == simiary:
      b[index] = key
运行结果:

CSDN我只有传文章才会上线,有什么问题可以加我的微信:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号