小明正在学习编程,他再做个编程练习时遇到了问题,你能帮助他写一个程序吗? 题目如下:给定一个字符串str,一个特定字符c和一个整数n,你需要返回字符c在字符串str中第n次出现的索引位置。 提示:enumerate()用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
时间: 2024-02-05 10:11:28 浏览: 70
2018年宁波市鄞州区小学生计算机程序设计复赛题
当然可以帮助他编写这个程序,下面是一个Python实现的示例代码:
```python
def find_nth_occurrence(str, c, n):
occurrences = 0
for index, char in enumerate(str):
if char == c:
occurrences += 1
if occurrences == n:
return index
return -1
```
这个函数接受三个参数,分别是字符串`str`、要查找的字符`c`和出现次数`n`。它遍历字符串,使用`enumerate()`函数获取字符的下标和对应的字符值。如果字符是要查找的字符,则增加计数器`occurrences`的值。当计数器的值等于`n`时,返回当前字符的下标。如果没有找到第`n`个出现的字符,则返回-1。
你可以使用下面的代码进行测试:
```python
str = "hello world"
c = "l"
n = 3
index = find_nth_occurrence(str, c, n)
print(index)
```
输出结果应该是6,因为字符"l"在第3次出现的位置是字符串中的第6个字符。
阅读全文