0

私は、「コンピューター科学者のように考える方法」の第 6 章の反復/While ループのセクションの初心者です。

この本では、2 次元テーブルの構文は次のとおりです。

i=1
while i <= 6:
  print 2*i, '   ', 
  i=i+1 
print

ただし、これを行うと構文エラーが発生します。端末が与えた

File "<stdin>", line 4
    print
        ^
SyntaxError: invalid syntax

2 番目の print ステートメントは不要であり、それを削除するとエラーが修正されることはわかっています。ただし、本書の後のセクションの行では、2 番目の print ステートメントは、水平方向の表を印刷した後に新しい行を作成することを意図していると説明しています。したがって、タイプミスの可能性があると思います。いくつかのバリエーションを試しましたが、それでも解決できませんでした。

4

3 に答える 3

3

ファイルに内容があるか、手動で入力するかについては言及していません。

後者の場合、端末は次のようになります

>>> i=1
>>> while i <= 6:
...   print 2*i, '   ',
...   i=i+1
... print
  File "<stdin>", line 4
    print
        ^
SyntaxError: invalid syntax

つまり、意図したwhile句を終了するには、空の行を入力する必要があります。

>>> i=1
>>> while i <= 6:
...   print 2*i, '   ',
...   i=i+1
...

そして、ここですでに実行が行われています。

if 1別の回避策として、実行したいものを句に入力することもできます。

>>> i=1
>>> if 1:
...  while i <= 6:
...   print 2*i, '   ',
...   i=i+1
...  print
...
2     4     6     8     10     12
>>>
于 2012-05-07T14:00:43.417 に答える
3

シェルに問題があるようです

ファイルとして投稿したスニペットを実行すると、実行されます。あなたはシェルで実行しているようです(<stdin>ヒント)、シェルでは、同じスニペットが機能しません(Ubuntuのpython 2.7.2)。

于 2012-05-07T13:56:46.383 に答える