纯数字输入识别
# 获得用户输入的一个数字,可能是浮点数或复数,# 如果是整数仅接收十进制形式,且只能是数字。对输入数字进行平方运算,输出结果。
# 要求:
#(1)无论用户输入何种内容,程序无错误;
#(2)如果输入有误,请输出"输入有误"。
s = input('请输入数字:')
try:
if complex(s) == complex(eval(s)):
print(eval(s)**2)
except:
print("输入有误")
# 测试输入:123.1、1+2j、100**2(输入错误)、100 + 2(输入错误)、0x123(输入错误)
# complex()和complex(eval())之间的比较将能够排除非数字类型的输入。
# 注意:不能直接使用eval(),否则,用户可以通过输入表达式(如100**2)输入数字,
# 与要求不同(在实际应用中带来安全隐患)。
页:
[1]