【问题标题】:Finding specific letters in a string [duplicate]在字符串中查找特定字母[重复]
【发布时间】:2026-01-30 02:20:11
【问题描述】:

我正在尝试做一个作业,我必须在它到达字符串中的“f”之前找到字母的数量。我能够让一件事起作用,但它只打印出一个“f”。

这方面的一个例子是“办公室”,需要 1 个字母才能到达“f”之一,但如果这有意义的话,我无法让它到达第二个 f。

a = input()
b = a.index("f")

print(b)

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    这是一种获取最后一个“f”之前的所有字母的模式,但这也将包括之前的所有字母“f's”。

    使用最后一个“f”来获取字母的数量。

    a = str(raw_input())
    
    def find(str, char):
        values = []
        for i, ltr in enumerate(str):
            if ltr == char:
                values.append(i)    
    return max(values)
    
    # >>> print(find(ooooffooof, "f"))
    # >>> 9
    

    【讨论】:

      【解决方案2】:

      当您再次找到要查找的字符时,将当前位置更改为字符串中的索引。

      import sys
      
      def getNumLettersBefore(string, c):
          position = 0
          for i in range(len(string)):
              if string[i] == c:
                  position = i
          return position
      
      
      string = sys.argv[1]
      c = sys.argv[2]
      a = getNumLettersBefore(string, c)
      print a
      

      【讨论】: