Pythonの基本中の基本の文の実行についての質問

Writer: admin Type: regalmach Date: 2019-01-05 00:00
Pythonの基本中の基本の文の実行についての質問です。課題で、以下のコードをexecuteしてsearch0bj.group() : Cat are smarter than dogssearch0bj.group(1) : Catssearch0bj(2) : smarter という結果を表示して実行結果しろというものがあります。ソースコードは、既に提示されていて以下のプログラムですimport reline="Cats are smarter than dogs";search0bj=re.search( r'(.*) are (.*?) .*', line, re.M|re.I)if search0bj: print "search0bj.group() : ", search0bj.group() print "search0bj.group(1) : ", search0bj.group(1) print "search0bj.group(2) : ", search0bj.group(2)else: print "Nothing found!"です。AnacondaというソフトをインストールしてSpyderを使ってコードを打ち込みました。しかし、runfile('C:/Users/loym525/.spyder-py3/temp.py', wdir='C:/Users/loym525/.spyder-py3')Traceback (most recent call last): File "C:\Users\loym525\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2961, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-1-0654e078a4bc>", line 1, in <module> runfile('C:/Users/loym525/.spyder-py3/temp.py', wdir='C:/Users/loym525/.spyder-py3') File "C:\Users\loym525\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 668, in runfile execfile(filename, namespace) File "C:\Users\loym525\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "C:/Users/loym525/.spyder-py3/temp.py", line 8 print "search0bj.group() : ", search0bj.group() ^SyntaxError: invalid syntaxdebugfile('C:/Users/loym525/.spyder-py3/temp.py', wdir='C:/Users/loym525/.spyder-py3')Traceback (most recent call last): File "C:\Users\loym525\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2961, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-2-b078ed73553b>", line 1, in <module> debugfile('C:/Users/loym525/.spyder-py3/temp.py', wdir='C:/Users/loym525/.spyder-py3') File "C:\Users\loym525\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 691, in debugfile debugger.run("runfile(%r, args=%r, wdir=%r)" % (filename, args, wdir)) File "C:\Users\loym525\Anaconda3\lib\bdb.py", line 585, in run exec(cmd, globals, locals) File "<string>", line 1, in <module> File "C:\Users\loym525\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 668, in runfile execfile(filename, namespace) File "C:\Users\loym525\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "c:/users/loym525/.spyder-py3/temp.py", line 8 print "search0bj.group() : ", search0bj.group() ^SyntaxError: invalid syntaxというのが表示されるだけで、実行結果が出ません。。本当の初心者です。実行できるように、教えてほしいです。。。共感した0###Python3 系と Python2 系の違いのひとつに print が文じゃなくて関数になったという点があります。関数なので Python3 系では print('印字したいもの') のようにカッコ内に引数として印字したいものを与えます。今の場合は書き直しも大した作業量ではありません。多いときはコマンドラインツールとして2to3 か 2to3-version という名前のこういう変換を助けてくれるツールが付属してるので2to3 your.pyで確認してから2to3 -w your.pyとすると変換できます。ナイス0
###今私が使っているのは3系だから2系のコードが読み込めないという事でしょうか??3系で読み込めるコードは、どう書き直したらいいでしょうか??与えられているソースコードをただ動かすという、本当に初心者のうちの初心者の質問で申し訳ございません。。最初に記した実行結果が出るようなコードを、是非教えていただきたいです。。

 

TAG