弈魂云 发表于 2021-7-19 22:00:50

萌新求助大佬

闲着没事,自己准备写个代码,给输入分类。但是每次输入小数的时候,都会被分类为字符串?x=input('请输入:')
iftype(x)==float:
    print("你输入的是一个浮点数(小数)")
elif type(x)==str:
    print("你输入的是字符串")
elif type(x)==int:
    print("你输入的是一个整数")
elif type(x)==decimal.Decimal:
    print('你输入的是十进制数')
   

深谙流年 发表于 2021-7-19 22:03:43

input默认输入的是字符串,你即使输入数字也是字符串,不信你试试

弈魂云 发表于 2021-7-19 22:14:39

深谙流年 发表于 2021-7-19 22:03
input默认输入的是字符串,你即使输入数字也是字符串,不信你试试

thank you,can you help help me?
谢谢,那你能帮帮我吗?

冬雪雪冬 发表于 2021-7-19 22:21:52

本帖最后由 冬雪雪冬 于 2021-7-19 22:24 编辑

用异常处理比较方便,不知你学到这里了吗?
x=input('请输入:')
try:
    y = float(x)
    if y == int(y):
      print("你输入的是一个整数")
    else:
      print("你输入的是一个浮点数(小数)")
except ValueError:
    print("你输入的是字符串")
本程序是把1.0这样的数也定为整数了,如果把它看做浮点数,你可以修改一下程序。

深谙流年 发表于 2021-7-19 22:24:45

弈魂云 发表于 2021-7-19 22:14
thank you,can you help help me?
谢谢,那你能帮帮我吗?

用int,float,转换就行了

弈魂云 发表于 2021-7-19 22:24:53

冬雪雪冬 发表于 2021-7-19 22:21
用异常处理比较方便,不知你学到这里了吗?

本程序是把1.0这样的数也定为整数了,如果把它看做浮点数, ...

还没有,还是谢谢啦
页: [1]
查看完整版本: 萌新求助大佬