其实关于python的学习方面真的是很多,之前也发过类似文章,但是代码量实在太大,这次从另外的角度也能实现功能,而且代码量少了很多,详细说明如下:
本代码用了一个功能函数eval(),它是用来执行一个字符串表达式,并返回表达式的值。配合try...excep也能达到预期效果.该段代码是用input进入输入状态,只有输入条件满足才会退出循环;否则无限执行循环!同时还追加了对空格和空行的处理.但没有设定取小数点后几位.图片如下:
还是一样,下面是完整代码,仅仅是内容正确,格式见上面图片!!
whileTrue:
a=input("输入数值:")
a1=a.split()#拆分输入字符串包含空格
a2=""
a1=a2.join(a1)#连接输入所符,去掉空格
alist=["a","a1","a2"]
ifa1=="":#针对输入空格或者为空字符处理
print("请输入字符不能为空,重新输入!!")
#break
continue#输入字符不满足条件一直保持输入状态,直到输入正确才退出循环
else:
ifa1inalist:
print("输入的不是小数和整数,重新输入")
#break
continue
else:
try:
a3=eval(a1)
except:
print("输入的不是数字,重新输入!")
continue
ifisinstance(a3,float):
print("输入的是小数:",a3)
break#输入字符浮点型退出循环
else:
print("输入的是整数:",a3)
break#输入字符整形退出循环