使用Python编写的查找字符串中不同整数数目的程序

使用Python编写的查找字符串中不同整数数目的程序

假设我们有一个小写字母数字字符串s。我们需要将每个非数字字符替换为一个空格,但现在我们留下了一些由至少一个空格分隔的整数。在对s执行替换操作后,我们必须找到不同整数的数量。在这里,如果它们的十进制表示没有前导零,则认为两个数不同。

因此,如果输入是s=”ab12fg012th5er67″,则输出将是3,因为有几个数字[“12″,”012″,”5″,”67”],现在”12″和”012″在字符串中不同但在整数中相同。因此有三个不同的数字。

要解决此问题,我们将执行以下步骤 −

  • nums:一个新列表

  • k:空字符串

  • 对于i从0到s的大小,执行以下操作

    • 如果s [i]的ASCII码大于47并且小于58,则
      • k:用s [i]连接k
    • 否则,
      • 如果k不是空字符串,则

      • 在nums的末尾插入整数形式的k

      • k:空字符串

  • 如果k不是空字符串,则

    • 在nums的末尾插入整数形式的k
  • 返回nums中不同元素的计数

让我们看以下实现以更好的理解−

更多Python相关文章,请阅读:Python 教程

示例

def solve(s):
   nums = []
   k = ""
   for i in range(len(s)):
      if ord(s[i]) > 47 and ord(s[i]) < 58:
         k += s[i]
      else:
         if(k != ""):
            nums.append(int(k))
            k = ""
   if(k != ""):
      nums.append(int(k))
   return len(set(nums))
s = "ab12fg012th5er67"
print(solve(s))

输入

"ab12fg012th5er67"

输出

3

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程