2017-05-05 5 views
-2

私がミスをしたところ、あなたが私に教えerror.Couldプログラミングに新たなんだと運動のような単純な電卓を作っているため、構文の私のコードを実行すると問題があるPython.Iを習い始め:Python:良い構文がありますか?

while True: 
    print("Options:") 
    print("Enter 'add' to add two numbers") 
    print("Enter 'substract' to substract two numbers") 
    print("Enter 'multiply' to multiply two numbers") 
    print("Enter 'divide' to divide two numbers") 
    print("Enter 'quit' to end the program") 
    user_input = input(":") 

    if user_input == "quit": 
     break 

    elif user_input == "add": 
     ... 
    elif user_input == "substract": 
     ... 
    elif user_input == "multiply": 
     ... 
    elif user_input == "divide": 
     ... 
    else: 
     print("Unknown input") 

    elif user_input == "add": 
     num1 = float(input("Enter a number:")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1 + num2) 
     print("The answer is:" + result) 

    elif user_input == "substract": 
     num1 = float(input("Enter a number:")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1 - num2) 
     print("The answer is:" + result) 

    elif user_input == "multiply": 
     num1 = float(input("Enter a number:")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1 * num2) 
     print("The answer is:" + result) 

    elif user_input == "divide": 
     num1 = float(input("Enter a number;")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1/num2) 
     print("The answer is:" + result) 

今後のお返事ありがとうございます!

+2

のPythonを扱うようにtryexecptブロックの例を追加しました

は、通常、エラーが発生した場所の近くに指すあなたのための「例外」を提供するのに十分素敵です。あなたの質問を編集し、それを提供してください。 –

+0

これは部分的に "無効な構文"エラーを示しています:elif user_input == "add":私は質問を投稿する前に多くのことを試みましたが、アイデアがなくなってしまいました。 –

+2

*質問を編集してそこに記入してください*。コメントではありません:-) –

答えて

1

2番目のelif文はelse文の後にあるためです。また、私はZeroDivisionError

while True: 
    print("Options:") 
    print("Enter 'add' to add two numbers") 
    print("Enter 'substract' to substract two numbers") 
    print("Enter 'multiply' to multiply two numbers") 
    print("Enter 'divide' to divide two numbers") 
    print("Enter 'quit' to end the program") 
    user_input = input(":") 

    if user_input == "quit": 
     break 
    elif user_input == "add": 
     num1 = float(input("Enter a number:")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1 + num2) 
     print("The answer is:" + result) 

    elif user_input == "substract": 
     num1 = float(input("Enter a number:")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1 - num2) 
     print("The answer is:" + result) 

    elif user_input == "multiply": 
     num1 = float(input("Enter a number:")) 
     num2 = float(input("Enter another number:")) 
     result = str(num1 * num2) 
     print("The answer is:" + result) 

    elif user_input == "divide": 
     num1 = float(input("Enter a number;")) 
     num2 = float(input("Enter another number:")) 
     # Example of a Try/Catch block to avoid ZeroDivisionError 
     try: 
      result = str(num1/num2) 
      print("The answer is:" + result) 
     except ZeroDivisionError: 
      print("Can't divide by 0") 
    else: 
     print("Unknown input") 
+0

ありがとうございます、これがついに効きました! –

+1

問題ありません。これが役に立ちましたら、これを答えとして受け入れることができます – Ludisposed

関連する問題