鱼C论坛

 找回密码
 立即注册
查看: 1513|回复: 3

[已解决]好像有点问题,小数不也是数字吗?大佬有更好解法吗

[复制链接]
发表于 2020-10-20 21:42:54 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入10个数字,超过10个数字就跳出循环
count=0
while True:
num=input("请输入数字”)
if num. isdigit() :
count=count+1
if num. isdigit()==False:
print("非法输入")
if count==10:
break
最佳答案
2020-10-20 22:49:37
本帖最后由 笨鸟学飞 于 2020-10-20 22:52 编辑

=======不用模块可以这么干=========
num=input("请输入数字”)
if '.' in num:                              #如果输入内容有点
    if num[0]!='.' 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:负数也可以参考一下思路,如果你不用模块的话========
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-20 22:02:29 | 显示全部楼层
num=eval(input("请输入数字”))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-20 22:49:37 | 显示全部楼层    本楼为最佳答案   
本帖最后由 笨鸟学飞 于 2020-10-20 22:52 编辑

=======不用模块可以这么干=========
num=input("请输入数字”)
if '.' in num:                              #如果输入内容有点
    if num[0]!='.' 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:负数也可以参考一下思路,如果你不用模块的话========
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-22 15:33:10 | 显示全部楼层
好像没有想isdigit()这样现成的函数来判断是否是小数,isdigit()是判断字符串是否是纯数字,小数点也参加判断,因为不是纯数字,所以是False
可以尝试用eval转换,再依据数值类型来判断

  1. # 输入10个数字,超过10个数字就跳出循环
  2. count = 0
  3. while True:
  4.     num = input("请输入数字")
  5.     print(type(eval(num)))
  6.     if type(eval(num)) in [int,float]:
  7.         count = count + 1
  8.     else:
  9.         print("非法输入")
  10.     if count == 10:
  11.         break
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 08:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表