问题描述:
获得用户输入的数字,可能是浮点数或者复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。
要求:
(1)无论用户输入何种内容,程序无错误;
(2)如果输入有误,请输入“输入有误”。
代码编写:
a = input()
try:
if complex(a) == complex(eval(a)):
print(eval(a)**2)
except:
print('输入有误')
complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。
complex()函数和complex(eval())之间的比较将能够排除非数字类型的输入。
不能直接用eval(),否则用户可以通过输入诸如(100+20)的表达式输入计算,不会报错,但实际上题目不能接受非数字类型的表达式。