0

Python で簡単な電卓スクリプトを作成しました。通常、Python はデフォルトで (-)マイナス、(*)乗算、(/)除算記号を認識しますが、このスクリプトを検討している間、記号を識別できません。私をクリアするためにコメントを残してください...

#! /usr/bin/python

print("1: ADDITION")
print("2: SUBTRACTION")
print("3: MULTIPLICATION")
print("4: DIVISION")

CHOICE = raw_input("Enter the Numbers:")

if CHOICE == "1":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a + b
    print c

elif CHOICE == "2":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a - b
    print c

elif CHOICE == "3":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a * b
    print c

elif CHOICE == "4":
    a = raw_input("Enter the value of a:")
    b = raw_input("Enter the value of b:")
    c = a / b
    print c

else: 
 print "Invalid Number"
 print "\n"
4

3 に答える 3

5

入力、文字列を整数または浮動小数点数に変更する必要があります。分割があるので、float に変更した方がよいでしょう。

a=int(raw_input("Enter the value of a:"))
a=float(raw_input("Enter the value of a:"))
于 2012-11-22T09:13:44.017 に答える
4

入力を取得すると、それは文字列です。演算子は文字列に対して定義されているため、機能しますが、他の+演算子は機能しません。ヘルパー関数を使用して安全に整数を取得することをお勧めします (整数演算を行っている場合)。

def get_int(prompt):
    while True:
        try:
            return int(raw_input(prompt))
        except ValueError, e:
            print "Invalid input"

a = get_int("Enter the value of a: ")
于 2012-11-22T09:15:04.773 に答える
1

Billwild は、変数を整数にするように変更する必要があると述べました。しかし、浮かんではいけません。整数型か浮動小数点型かは重要ではなく、数値型でなければなりません。Raw_input は、文字列などの任意の入力を受け取ります。

a=float(raw_input('Enter the value of a: '))

またはティムのアプローチのために

def get_float(prompt):
    while True:
        try:
            return float(raw_input(prompt))
        except ValueError, e:
            print "Invalid input"

a = get_float("Enter the value of a: ")

結果を float または int またはその逆にいつでも変換できます。プログラミングしている計算機の種類は問題ではありません。

于 2012-11-22T09:36:27.133 に答える