2016-10-06 1 views
0

私はこのコードが前に働いたことを誓います!"SyntaxError:Invalid Syntax"しかし以前はうまくいきました! (初心者のためのPython 3.5.2のチュートリアル)

誤ってオンにした可能性があるIDLEの設定はありますか?

私は非常に簡単なことをしようとしています。私は例の問題を再現しようとすると、

>>> print("hello") 
hello 



>>> def main(): 
     print("hey") 


>>>main() 
hey 

だから、あなたが右、動作するようにこれらの変数期待:あなたはこれらの作品を見ることができるように

def main(): 
    print("This calculates the cost of coffee.") 
    print() 
    n = eval(input("Enter amount of coffee in pounds: ") 
    m = 10.50 * n 

SyntaxError: invalid syntax 

なぜですか?なぜPython 3.5.2は "SyntaxError:invalid syntax"を返すのですか?

ありがとうございました!申し訳ありません、私はそのような騒ぎです。

+0

この行の最後には閉じ括弧がありません: 'n = eval(input("コーヒーの量を入力してくださいnポンド: ")'。 'n = eval(input("ポンドのコーヒー量を入力してください: "))) – idjaw

+3

プロチップ - evalは使用しないでください。 evalを使用せずにそれを行うより良い方法が常にあります。あなたはint/floatに変換したいように見えます。 'float(input("ポンド単位のコーヒー量を入力してください: "))' – idjaw

+1

行末に 'n = ...)'のかっこがありません –

答えて

0

コメントの中に指摘されているように、あなたのプログラムの4行目には、)のクローズがありません。なぜあなたはeval()を使用している

  • :4行目は

    n = eval(input("Enter amount of coffee in pounds: "))# <--extra parenthesis


    のようなあなたのコード内のいくつかの無関係なポイントになりますか?浮動小数点/整数変換のように見えるので、int()またはfloat()を使用してください。に私の提案を追加した後n = float(input("Enter amount of coffee in pounds: "))*10.50


  • 代わりに改行を達成するために、余分な印刷を追加することで、単にあなたのプログラムのprint("This calculates the cost of coffee.\n")
  • 最後の2行は、単一の文の中に凝縮させることができると言います

    def main(): 
        print("This calculates the cost of coffee.\n") 
        n = float(input("Enter amount of coffee in pounds: "))*10.50 
    
  • 関連する問題