2011-08-13 10 views
2

難解な方法を学習するPythonの練習で卵を数えようとしています。予期しない数学的な出力

print (3 + 2 + 1 - 5 + 4 % 2 - 1/4 + 6) 

と示唆した答えは7です:卵をカウントするための式があります。 私は6.75を手に入れているのですが、どうして私は正しく入れていると思いますが、間違っている可能性があります。上記の方法は、私がプログラムにどのように入れているかです。

注:私が使用している本では、3.1バージョンを使用しているPythonの2.6バージョンを使用しています。これは混乱の一部かもしれません。助けてください。

参照用URL here

+3

「/」の代わりに '/'を使用してください。 – JBernardo

+0

2.xバージョンを使用してください。彼らはあなたが考えるように時代遅れではありません。 [Python Wiki Python2 or Python3] – therealmarv

+1

@therealmarvこれはおそらく本を読んでいる方が良いでしょうが、Python3にはまだまだ素晴らしい追加機能があり、そのようなデザインの間違い"(動的言語の整数除算にはデフォルトで問題があります)、それを追加の学習経験として見ることもできます。あなたのリンクももう少し古いですが、Python3のサポートはますます良くなっています – Voo

答えて

12

python 2.xでは、/演算子は整数除算を行いました。 Python 3では、/の結果は入力タイプに関係なくfloatです。整数除算を実行するには、//演算子を使用します。

0

Python 3は、Python 2と後方互換性がありません。あなたの本が基づいているバージョンのPythonを混乱を最小限に抑えて使用してください。他の人が触れたように、Python 3とPython 2は、とりわけ、異なる分割を実行します。