0

割り当て用の単純な python 電卓を作成しようとしています。その基本的な考え方は単純で、オンライン全体に文書化されていますが、ユーザーが実際に演算子を入力するものを作成しようとしています。したがって、1: 足し算、2: 引き算などを出力する代わりに、ユーザーは、足し算には +、引き算には - などを選択します。また、Q または q をプログラムから終了させようとしています。ユーザーが演算子を入力して操作を表現できるようにする方法についてのアイデアはありますか?

注: 剰余演算を定義する必要があることはわかっています。

    import math

loop = 1
choice = 0

while loop == 1:
    print("your options are:")
    print("+ Addition")
    print("- Subtraction")
    print("* Multiplication")
    print("/ Division")
    print("% Remainder")
    print("Q Quit")
    print("***************************")

    choice = str(input("Choose your option: "))
    if choice == +:
        ad1 = float(input("Add this: "))
        ad2 = float(input("to this: "))
        print(ad1, "+", ad2, "=", ad1 + ad2)
    elif choice == -:
        su2 = float(input("Subtract this: "))
        su1 = float(input("from this: "))
        print(su1, "-", su2, "=", su1 - su2)
    elif choice == *:
        mu1 = float(input("Multiply this: "))
        mu2 = float(input("with this: "))
        print(mu1, "*", mu2, "=", mu1 * mu2)
    elif choice == /:
        di1 = float(input("Divide this: "))
        di2 = float(input("by this: "))
        print(di1, "/", di2, "=", di1 / di2)
    elif choice == Q:
        loop = 0

print("Thank-you for using calculator")
4

2 に答える 2

2

choiceまず、ゼロに代入する必要はありません

次に、コードは正しいですが、次のように if ステートメントの演算子を引用符で囲む必要があります。

if choice == '+':

文字列をチェックしていることを示す

次のようにループを作成します。

while 1: #or while True:
    #do stuff

    elif choice == 'Q': #qoutes around Q
           break #use the `break` keyword to end the while loop

loopその後、プログラムの先頭に割り当てる必要はありません

于 2013-09-24T00:41:58.930 に答える
0

if choice == +で置き換えてみてくださいif choice == "+"

入力から得られるのは実際には文字列です。つまり、演算子を表す文字であっても、任意の文字を含めることができます。

于 2013-09-24T00:41:13.043 に答える