醉酒青牛 发表于 2015-8-12 22:10:18

Python中如何判断键盘输入的是整数还是浮点数

本帖最后由 醉酒青牛 于 2015-8-17 19:03 编辑

学习Python的鱼油们知道,输入函数input()返回值为一个字符串,如何通过程序去判别键盘输入的是字符还是一个数字,如果是数字的话则是整数还是浮点数呢,小甲虫做了一个小程序,各位鱼油可以来瞅瞅看。
print("----------------实现判断键盘输入的是整数还是浮点数程序----------------")
while True:
    try:
      temp = input("少侠,请从键盘上任意输入一个数字吧: ")
      find = float(temp)
    except ValueError:
            print("擦,告诉你要输入一个数字了! " +"你看看你输入的" + temp +"是数字吗?!")
            break
    if('.' not in temp):
      print("少侠,你输入的是个整数: ",int(temp),",对不对?!")
    else:
      print("少侠,你输入的是个浮点数: ",float(temp),",哈哈,被小甲虫猜中了吧?!")
print("游戏结束,不玩啦!")

m18088847751 发表于 2015-8-13 21:54:37

兄弟,你的非数字输出有点问题呀
>>>
----------------实现判断键盘输入的是整数还是浮点数程序----------------
少侠,请从键盘上任意输入一个数字吧: 215
少侠,你输入的是个整数:
215 ,对不对?!
少侠,请从键盘上任意输入一个数字吧: 不
Traceback (most recent call last):

File "C:/Users/Administrator/Desktop/Python/代码/实现判断键盘输入的是整数还是浮点数程序-.py", line 9, in <module>
    print("少侠,你输入的是个整数: ",int(temp),",对不对?!")
ValueError: invalid literal for int() with base 10: '不'
>>> 士大夫
Traceback (most recent call last):

File "<pyshell#0>", line 1, in <module>
    士大夫
NameError: name '士大夫' is not defined
>>>

m18088847751 发表于 2015-8-13 21:56:09

逻辑结束也有点问题呀

醉酒青牛 发表于 2015-8-15 12:19:24

m18088847751 发表于 2015-8-13 21:56
逻辑结束也有点问题呀

哦,第一次做,貌似问题挺多的,包涵啊{:1_1:}

醉酒青牛 发表于 2015-8-17 19:07:11

m18088847751 发表于 2015-8-13 21:54
兄弟,你的非数字输出有点问题呀
>>>
----------------实现判断键盘输入的是整数还是浮点数程序--------- ...

忘记加一条判断判断出是非数字时引发报错,在这里我在程序第五行增加了 find=float(temp),如果输入的为非数字,则程序会强制转换类型出错,这样既避免了用户输入非数字啦

python_baby 发表于 2015-8-20 15:39:44

print("----------------实现判断键盘输入的是整数还是浮点数程序----------------")
while True:
    try:
      temp = input("少侠,请从键盘上任意输入一个数字吧: ")
      find = float(temp)
    except ValueError:
            print("擦,告诉你要输入一个数字了! " +"你看看你输入的" + temp +"是数字吗?!")
            continue
    if('.' not in temp):
      print("少侠,你输入的是个整数: ",int(temp),",对不对?!")
      result = input("少侠,您是否需要继续游戏?")
      if result == '是':
            continue
      else:
            break
    else:
      print("少侠,你输入的是个浮点数: ",float(temp),",哈哈,被小甲虫猜中了吧?!")
      result = input("少侠,您是否需要继续游戏?")
      if result == '是':
            continue
      else:
            break
print("游戏结束,不玩啦!")

这个游戏结束的有点突兀,加了个是否继续的判断

liht1634 发表于 2016-8-9 10:05:09

好………………。

wago2008 发表于 2016-11-10 17:41:59

学习了
页: [1]
查看完整版本: Python中如何判断键盘输入的是整数还是浮点数