我正在试着建立一个计算器来完成复数的基本运算。我正在使用一个我在网上找到的计算器的代码,我想能够把用户输入作为一个复数。现在代码使用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")
在Python中没有直接输入复数的方法。但我们要做的是取一个复数。 方法1- 以刺为输入,然后将其转换为复数。 方法2- 取两个独立的数字,然后把它们转换成复数。
方法1的代码-
方法2的代码-
为了从用户获得复杂类型的输入,我们必须使用complex类型函数,如@sleblanc所建议的。如果你想把实部和虚部分开,你必须这样做:
输出示例:
将输入传递给
complex
类型函数。这个构造函数也可以用字符串作为参数调用,它将尝试使用Python的复数表示来解析它。示例
注意,Python使用“j”作为虚组件的符号;您必须告诉用户以这种格式输入数字:
1+3j
如果希望计算器支持不同的语法,则必须分析输入并亲自将其馈送给
complex
构造函数。正则表达式可能有帮助。相关问题 更多 >
编程相关推荐