3

私は John Zelle による Python Programming (For Python 3) に取り組んでおり、最近まで 10.7 を実行している MacBook Pro ですべての作業を行っていました。私は両方のプラットフォームで Eclipse Juno を使用しています。すべてのプロジェクトを Windows 7 を搭載した PC に移動し、Eclipse Juno にインポートすることにしました。の付いたアプリはすべて壊れていることに気付きましたeval(input())が、それらはすべて Macbook で動作していました。本から入力したコードについても同じことが新しいです。あるプラットフォームでは機能するのに、他のプラットフォームでは機能しないのはなぜですか? MacOS では機能するが Windows では機能しないコードの例を次に示します。

def main():
    sum = 0.0
    count = 0
    xStr = input("Enter a number (<Enter> to quit) >> ")
    while xStr != "":
        x = eval(xStr)
        sum = sum + x
        count = count + 1
        xStr = input("Enter a number (<Enter> to quit) >> ")
    print("\nThe average of the numbers is", sum / count)

main()

これは Mac では問題なく動作しますが、Windows では次のエラーが発生します。

Enter a number (<Enter> to quit) >> 5

Traceback (most recent call last):
  File "C:\Users\Nostromo\workspace\Chapter 11\average4.py", line 18, in <module>
    main()
  File "C:\Users\Nostromo\workspace\Chapter 11\average4.py", line 12, in main
    x = eval(xStr)
  File "<string>", line 1
    5    
    ^
SyntaxError: unexpected EOF while parsing
4

2 に答える 2

2

input() を raw_input() に変更するとどうなりますか?

于 2013-01-27T17:11:36.107 に答える
1

eval(input())とにかく、欲しいものを手に入れるためのばかげた方法であり、本の著者はあなたがそれを使うことを提案すべきではありませんでした. に変更するとint(input())、もっと幸せになります。

于 2013-01-27T17:12:58.587 に答える