Есть два недостатка в пределах кода:
if i == " ":
j = int(i)
Так вы проверить i
является ли символ пробела, в этом случае вы хотите, чтобы преобразовать это пространство в число. Конечно, это не сработает - какой номер означает это пространство?
Другой недостаток - причина, по которой у вас там есть символ пробела. Вы говорите, что хотите использовать позицию или индекс символа. Но ваш цикл for делает что-то отличное от того, что вы ожидаете: for x in sequence
будет перебирать каждый элемент x
в этой последовательности. В случае последовательности строк вы получите каждый символ, а не индекс.
Например:
>>> for x in 'foo':
print(x)
f
o
o
Как вы можете видеть, он печатает символы, а не индексы.
Для этого вы можете использовать enumerate()
. Перечислять Перечислим над последовательность дает вам значение и индекса оказалось на:
>>> for i, x in enumerate('foo'):
print(i, x)
0 f
1 o
2 o
Таким образом, вы получите индекс тоже.
В вашем случае, ваш код будет выглядеть следующим образом, то:
sentence = input()
for i, x in enumerate(sentence):
if x == " ":
print(sentence[0:i])
Чтобы быть ясно, вы хотите, чтобы каждый символ в строке по его индексу? поэтому, если предложение «abcd», предложение [0] = «a» предложение [1] = b и т. д.? – labheshr
Да, точно. Я хочу знать положение любых пробелов в строке ie- в строке hi hi Я хочу, чтобы j равнялся 2 – Ethan
ok, поэтому in if i == "", просто введите expression.index (i), и это будет дать вам индекс пробелов ... – labheshr