2017-02-01 13 views
1

Вот мой код:Как использовать функцию find для Python 3.4.1?

import re 
sentence = raw_input("Write your sentence here ") 
word = raw_input("What word would you like to find the position of?") 
for i in re.finditer(word, sentence): 
    print i.start(), i.end() 

Это работает в Python 2.7.3, но мне нужно работать в 3.4. Когда я запускаю код в 3.4, он дает "i" as an invalid syntax.

Есть ли способ немного изменить код, чтобы он работал, или вместо него будет использоваться совершенно новый метод?

Также программа не может быть чувствительной к регистру.

Спасибо.

+1

[ 'raw_input'] (https://docs.python.org/2/library/functions.html#raw_input) теперь называется [' ввода '] (https://docs.python.org/3/library/functions.html#input). – khelwood

+1

И теперь 'print' является функцией, и ее нужно вызывать как одну:' print (...) '. –

+1

[Что нового в Python 3.0] (https://docs.python.org/3.0/whatsnew/3.0.html) может быть полезно –

ответ

2

Вам необходимо использовать input() вместо raw_input() и использовать функцию print() для печати всего, что угодно в python 3.x.

Следующий код работает для python 3.x.

import re 
sentence = input("Write your sentence here ") 
word = input("What word would you like to find the position of? ") 
for i in re.finditer(word, sentence): 
    print(i.start(), i.end()) 

Пример ввода/вывода:

Write your sentence here I love asian food, specially indian food. 
What word would you like to find the position of? food 
13 17 
36 40 
+0

Спасибо. Я забыл упомянуть, что я попытался изменить исходный ввод только на ввод. Единственное, чего я не делал, это переместить печать, чтобы стать функцией. Прекрасно работает. –

+0

@ DaniM добро пожаловать. если мой ответ помог вам, вы можете принять его как ответ. –

3

Изменить это:

raw_input -> input 

Разница заключается в том, что raw_input() не существует в Python 3.x, в то время как input() делает. На самом деле, старый raw_input() был переименован в input()

Также print стал print().

+0

также 'print' теперь является функцией – Duncan

+0

@ Duncan, Спасибо, добавлен в ответ. –

+0

Спасибо за помощь. –