数字的鲁棒输入
描述
获得用户输入的一个数字,可能是浮点数或复数,如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。
要求:
(1)无论用户输入何种内容,程序无错误;
(2)如果输入有误,请输出"输入有误"。
输入输出示例
输入 | 输出 |
---|---|
1+2j | (-3+4j) |
abd | 输入有误 |
思想:判断输入是否可以转换成int,float,complex类型,如果都不行,即出错.
text = input()
b=True
try:
num = int(text)
except:
# 字符串非int型
try:
num=float(text)
except:
# 字符串非float型
try:
num = complex(text)
except:
# 字符串非复数
print("输入有误")
b = False
if b:
print(num**2)