好像有点问题,小数不也是数字吗?大佬有更好解法吗
输入10个数字,超过10个数字就跳出循环count=0
while True:
num=input("请输入数字”)
if num. isdigit() :
count=count+1
if num. isdigit()==False:
print("非法输入")
if count==10:
break num=eval(input("请输入数字”))
本帖最后由 笨鸟学飞 于 2020-10-20 22:52 编辑
=======不用模块可以这么干=========
num=input("请输入数字”)
if '.' in num: #如果输入内容有点
if num!='.' and num[-1]!='.' :#小数一头一尾不能是‘.’
a = num.replace('.','0',1)#把点替换成0后应该全为数字
if a.isdigit():
print('输入为小数')
else:
print('输入错误')
else:
print('输入错误')
elif not num.isditie(): #输入内容无点,但不全为数字,则错误
print('输入错误')
else: #输入内容无点,全数字,就是整数
print('输入为整数')
==========PS:负数也可以参考一下思路,如果你不用模块的话========
好像没有想isdigit()这样现成的函数来判断是否是小数,isdigit()是判断字符串是否是纯数字,小数点也参加判断,因为不是纯数字,所以是False
可以尝试用eval转换,再依据数值类型来判断
# 输入10个数字,超过10个数字就跳出循环
count = 0
while True:
num = input("请输入数字")
print(type(eval(num)))
if type(eval(num)) in :
count = count + 1
else:
print("非法输入")
if count == 10:
break
页:
[1]