如何在python中获取复数作为用户输入?

2024-04-16 10:48:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在试着建立一个计算器来完成复数的基本运算。我正在使用一个我在网上找到的计算器的代码,我想能够把用户输入作为一个复数。现在代码使用int(input)来获取要求值的整数,但我希望输入是复数形式,格式为complex(x,y),用户只需要为每个复数输入x,y。我是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")

Tags: 代码inputreturndeffunctionthisint复数
3条回答

在Python中没有直接输入复数的方法。但我们要做的是取一个复数。 方法1- 以刺为输入,然后将其转换为复数。 方法2- 取两个独立的数字,然后把它们转换成复数。

方法1的代码-

a=input()              #user will enter 3+5j
a=complex(a)           #then  this will be converted into complex number.

方法2的代码-

a=int(input())         
b=int(input())
c=complex(a,b) 

为了从用户获得复杂类型的输入,我们必须使用complex类型函数,如@sleblanc所建议的。如果你想把实部和虚部分开,你必须这样做:

complx = complex(input());
print(complx.real, complx.imag);

输出示例:

>>> complx = complex(input());
1+2j
>>> print(complx.real, complx.imag);
1.0 2.0
>>> 

将输入传递给complex类型函数。这个构造函数也可以用字符串作为参数调用,它将尝试使用Python的复数表示来解析它。

示例

my_number = complex(input("Number"))

注意,Python使用“j”作为虚组件的符号;您必须告诉用户以这种格式输入数字:1+3j

如果希望计算器支持不同的语法,则必须分析输入并亲自将其馈送给complex构造函数。正则表达式可能有帮助。

相关问题 更多 >