String 在Python中如何从字符串中获取字符的索引值?
如何在不使用任何函数的情况下从字符串中读取特定字符(例如“+”)的索引值。他们让我用for循环来做这个。(家庭作业,由于声誉不好,我不允许使用家庭作业标签) 我是这样做的:String 在Python中如何从字符串中获取字符的索引值?,string,loops,python-3.x,String,Loops,Python 3.x,如何在不使用任何函数的情况下从字符串中读取特定字符(例如“+”)的索引值。他们让我用for循环来做这个。(家庭作业,由于声誉不好,我不允许使用家庭作业标签) 我是这样做的: S=input() 对于范围(0,len)中的位置: 如果S[position]=='+': 打印[位置] 作为输出,我得到的是+对自身进行签名,而不是索引。 谢谢 将-1分配给变量。并为每次迭代向该变量添加1。当i(迭代器)的值等于+ >>> s = "foo+bar" >>> x =
S=input()
对于范围(0,len)中的位置:
如果S[position]=='+':
打印[位置]
作为输出,我得到的是
+
对自身进行签名,而不是索引。
谢谢 将
-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
你的代码对我来说很好。您只需打印位置
,而不是S[位置]
>>> s = input()
foo+
>>> for pos in range(0,len(s)):
if s[pos] == '+':
print(pos)
3
请记住,
position
是索引,而S[position]
是该位置的字符。enumerate
是迭代索引和序列内容的内置有效方法
def index(text, char):
for i, c in enumerate(text):
if c == char:
return i
来自帮助中心:“请求家庭作业帮助的问题必须包括到目前为止您为解决问题所做的工作的摘要,以及您在解决问题时遇到的困难的描述。”@Capital我是编程新手,我正在为范围(0,len(S))中的位置执行以下操作::if inputString[position]=='+':不知何故,我被告知打印'+'号的索引值,但我不明白,我使用的是
输入字符串[position]='+'
但它打印的是'+'号而不是它的索引。哦,我缺乏知识和实践,谢谢..我现在明白了!谢谢你@Avinash Raj!:D再次感谢!这显然是由于我的粗心@Vivek我们是人类:-)嗯………..:-)