请用python完成本题:输入一串英文字母,找到他的第一个不重复的字母,并输出他的索引,若不存在则输出-1.输入样例:hellohomework,输出样例:7
时间: 2024-05-06 15:15:06 浏览: 354
```python
s = input()
d = {}
for i, c in enumerate(s):
if c in d:
d[c] = -1
else:
d[c] = i
ans = -1
for k, v in d.items():
if v != -1 and (ans == -1 or v < ans):
ans = v
print(ans)
```
解释如下:
1. 首先读入字符串 `s`,然后创建一个空的字典 `d`。
2. 对于 `s` 中的每个字符 `c`,如果 `c` 在字典 `d` 中已经存在,说明它已经重复了,将其对应的值置为 `-1`,否则将其对应的值设为当前的索引 `i`。
3. 然后遍历字典 `d` 中的每个键值对 `(k, v)`,如果 `v` 不等于 `-1` 且小于当前的答案 `ans`(或 `ans` 尚未被赋值),则将 `ans` 更新为 `v`。
4. 最后输出答案 `ans`。如果遍历完字典仍然没有找到不重复的字母,则 `ans` 保持为初始值 `-1`。
阅读全文