2016-09-09 4 views
2

私は、複素数の基本的な演算を行う計算機を構築しようとしています。私はオンラインで見つけた電卓のコードを使用しています。ユーザー入力を複素数で入力したいと考えています。今ではint(input)を使って評価する整数を取得していますが、入力をcomplex(x、y)という形式の複素数の形で入力したい場合は、それぞれx、yを入力するだけです複素数。私はPythonを初めて使っているので、説明が奨励され、それが可能ではないことが分かっていれば、それは素晴らしいことです。それが今であるとしてここではコードは次のとおりです。Pythonでユーザー入力として複素数を取得する方法は?

# define functions 
def add(x, y): 
    """This function adds two numbers""" 

    return x + y 

def subtract(x, y): 
    """This function subtracts two numbers""" 

    return x - y 

def multiply(x, y): 
    """This function multiplies two numbers""" 

    return x * y 

def divide(x, y): 
    """This function divides two numbers""" 

    return x/y 

# take input from the user 
print("Select operation.") 
print("1.Add") 
print("2.Subtract") 
print("3.Multiply") 
print("4.Divide") 

choice = input("Enter choice: 1, 2, 3, or 4: ") 

num1 = int(input("Enter first number: ")) 
num2 = int(input("Enter second number: ")) 

if choice == '1': 
    print(num1,"+",num2,"=", add(num1,num2)) 

elif choice == '2': 
    print(num1,"-",num2,"=", subtract(num1,num2)) 

elif choice == '3': 
    print(num1,"*",num2,"=", multiply(num1,num2)) 

elif choice == '4': 
    print(num1,"/",num2,"=", divide(num1,num2)) 
else: 
    print("Invalid input") 
+0

実際にそれを使用するには、@sleblancが示唆するようにします。あなたのプログラミングスキルを練習したい場合は、自分でそれをやってみてください。すべてが可能です。この場合、あなたはテキスト操作( 'split()'、 'isalpha()'などのようなもの)を_play_するだけです。 –

+0

電卓は簡単に作れますが、一般的にはボタンと機能がハードワイヤードです。入力用のフリーテキストフィールドを備えた汎用プログラミング言語を備えた電卓を作成することは、初心者が実現するよりはるかに大きな課題です。あなたが特定の目的に合った特別な電卓を実際に必要としていない限り、私はtic-tac-toeやHangmanのような別のものを試してみることをお勧めします。これらは、(計算機とは異なり)狭義に定義されたプログラムであり、(RPGとは異なり)構築するコンテンツはそれほどありません。 – TigerhawkT3

答えて

2

complex型関数へご入力を渡します。このコンストラクタは引数として文字列を使用して呼び出すこともでき、Pythonの複素数表現を使用して文字列を解析しようとします。

my_number = complex(input("Number")) 

注Pythonは虚数成分のシンボルとして "J" を使用します。 1+3j

計算機で異なる構文をサポートしたい場合は、入力を解析してcomplexコンストラクタにフィードする必要があります。正規表現は助けになるかもしれません。

+0

また、入力で 'i'を' j'に置き換えてから 'complex'に渡すこともできます。 –

+0

int(input)をcomplex(input)に置き換えようとしましたが、あなたが言った形式を使用しましたが、無効な入力があります。 – shivajna

関連する問題