2014-12-27 246 views
0

如何从字符串中读取特定字符的索引值(如'+'),而不使用任何函数。他们告诉我用循环做这个。 (在家工作,我不能使用的功课标签由于低信誉) 我这样做:如何从Python中的字符串获取字符的索引值?

S = input() for position in range(0,len(S)): if S[position] == '+': print(S[position])
什么我正为输出+符号本身,而不是它的索引。 谢谢!

+2

从帮助中心:“询问家庭作业帮助的问题必须包括您迄今为止解决问题所做的工作摘要,以及您解决问题的难点描述。” – Prisoner

+0

@prisonER我是编程新手,如果inputString [position] =='+':'不知何故,我被告知了'inputString = input() 的范围内的位置(0,len(S)): 打印'+'符号的索引值,但我并不理解,我使用'inputString [position] =='+'',但它打印的是'+'符号而不是其索引。哦,我缺乏知识和实践,谢谢..我现在想到了! – Vivek

回答

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 
+0

Thankyou @Avinash Raj! – Vivek

+0

:D再次感谢!这显然是由于我的粗心! – Vivek

+0

@Vivek我们是人类:-) –

0

记住position是指数,而S[position]是在该位置的字符。

+0

哟..谢谢! – Vivek

0

enumerate是循环遍历序列的索引和内容的内置高效方法。

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