如何从Python中的字符串中获取字符的索引值?

时间:2014-12-27 11:44:47

标签: string loops python-3.x

如何在不使用任何函数的情况下从字符串中读取特定字符的索引值(例如“ + ”)。他们告诉我使用for循环来做这件事。 (家庭作业,由于声誉低,我不允许使用作业标签) 我这样做了:

S = input() for position in range(0,len(S)): if S[position] == '+': print(S[position])
我得到的输出是+符号本身而不是索引。 三江源!

3 个答案:

答案 0 :(得分:2)

-1分配给变量。并为每次迭代向该变量添加1。当i(迭代器)的值等于+时,打印出变量的值

>>> s = "foo+bar"
>>> x = -1
>>> for i in s:
        x = x + 1
        if i == '+':
            print(x)


3

通过定义单独的函数。

>>> def index(s):
        x = -1
        for i in s:
            x = x + 1
            if i == '+':
                return x


>>> index('foo+bar')
3
>>> index('+foobar')
0
>>> index('foobar+')
6

你的代码对我来说很好。您只需打印position而不是S[position]

>>> s = input()
foo+
>>> for pos in range(0,len(s)):
        if s[pos] == '+':
            print(pos)


3

答案 1 :(得分:0)

请记住,position是索引,而S[position]是该位置的字符。

答案 2 :(得分:0)

enumerate是迭代序列的索引和内容的内置且有效的方法。

def index(text, char):
  for i, c in enumerate(text):
    if c == char:
        return i