Python 使用输入字符串可以创建多少次单词?

Python 使用输入字符串可以创建多少次单词?,python,Python,以下是我试图解决的问题: 编写程序以执行以下操作: 从两个单独的输入行读取两个输入-一个字符序列S和另一个较短的序列Y S仅包含a-z中的小写字符 计算并打印给定序列S生成给定单词Y的次数 字符串S中的字符可以按顺序使用 每个字符只能使用一次 样本输入: apqrctklatc//输入 cat//我们需要从输入创建的单词 输出: 单词cat可以形成两次我的解决方案是: 步骤1:计算每个不同字符在第二次输入中出现的次数。将结果保存到名为mapA的映射中,例如:a-2次,b-3次,等等 步骤2

以下是我试图解决的问题:

编写程序以执行以下操作:

  • 从两个单独的输入行读取两个输入-一个字符序列S和另一个较短的序列Y
  • S仅包含a-z中的小写字符
  • 计算并打印给定序列S生成给定单词Y的次数
  • 字符串S中的字符可以按顺序使用
  • 每个字符只能使用一次
样本输入:

apqrctklatc//输入

cat//我们需要从输入创建的单词

输出:

单词cat可以形成两次

我的解决方案是:

  • 步骤1:计算每个不同字符在第二次输入中出现的次数。将结果保存到名为
    mapA
    的映射中,例如:a-2次,b-3次,等等
  • 步骤2:迭代第一次输入,计算
    mapA
    中每个字符出现的次数。将结果保存到名为
    mapB
    的映射中
  • 步骤3:使用高整数值初始化变量(
    max_int
    是一个不错的选择),称为
    result
    。遍历
    mapA
    (或
    mapB
    ,因为两个贴图具有相同的键列表)。对于
    mapA
    中的每个键,计算
    mapB.value/mapA.value
    的下限。如果小于
    result
    ,则将
    result
    设置为该值
  • 步骤4:返回
    结果
    ,这是您需要的结果
对于其他使结果意外的情况,例如:第一个输入和第二个输入没有公共字符,等等,请确保在执行这些步骤之前已捕获所有输入。希望您能在没有示例代码的情况下完成它

祝你好运。

你可以试试这个:

import re 
s="apqrctklatc"
y="cat"

ylst = [x for x in y]

print(ylst)

ycount=[]
for ychar in ylst:

    count = len(re.findall(ychar, s)) 

    ycount.append(count)

print("word",y," can be formed",min(ycount),"times")  
它对我也有效,您可以看到我的输出:

使用以下方法:

s='apqrctklatc'
y=‘猫’
yc=[]
对于y中的i:
yc.追加(s.count(i))
打印(最小值(yc))
在我看来,这是最简单的解决办法

让我们看看它是如何工作的:

1) 它循环第二个字符串(
'cat'

2) 它计算字符串中的每个字母在另一个字符串中出现的次数,即apqrctklatc,并生成一个列表


3) 它查找所形成列表的最小值,即
yc

欢迎来到堆栈溢出!请仔细阅读,特别是。你在这里的最佳选择是做你的研究,搜索相关的话题,然后尝试一下。在做了更多的研究和搜索之后,发布一篇你的尝试的文章,并明确指出你的困难所在,这可以帮助你获得更好的答案。初学者是受欢迎的,但我们希望在发布问题之前,在尝试解决你自己的问题上花费一定的努力。虽然我们非常愿意帮助您解决您编写的代码的问题,但我们不为您编写代码。拆分两个字符串并查找每个字符的出现次数,将每个字符的出现次数推送到或附加到数组或列表中,然后从中打印最小值。谢谢!这管用!我只需要对s和y使用input(),而不是硬编码的值