如何在不使用任何函数的情况下从字符串中读取特定字符的索引值(例如“ + ”)。他们告诉我使用for循环来做这件事。 (家庭作业,由于声誉低,我不允许使用作业标签) 我这样做了:
S = input()
for position in range(0,len(S)):
if S[position] == '+':
print(S[position])
我得到的输出是+
符号本身而不是索引。
三江源!
答案 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