题目:获得用户输入的一个数字,可能是浮点数或复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。
要求:
(1)无论用户输入何种内容,程序无错误;
(2)如果输入有误,请输出"输入有误"。
输入 输出示例
输入 输出
示例 1
1+2j (-3+4j)
#!/usr/bin/python 3
# -*- coding: UTF-8 -*-
_Author_ = '麦地吃大米'
s = input()
s = s.replace(' ','')
ok = False
try:
n = int(s)
ok = True
except:
pass
if not ok:
try:
n = float(s)
ok = True
except:
pass
if not ok:
try:
n = complex(s)
ok =True
except:
pass
if ok:
print(n**2)
else:
print("输入有误")
另一种更简洁,学习不断啊~
s = input()
try:
if complex(s) == complex(eval(s)):
print(eval(s)**2)
except:
print("输入有误")