鱼C论坛

 找回密码
 立即注册
查看: 24056|回复: 7

[萌新报道] Python中如何判断键盘输入的是整数还是浮点数

[复制链接]
发表于 2015-8-12 22:10:18 | 显示全部楼层 |阅读模式

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

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

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

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

结果示意

结果示意
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 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
>>>
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-13 21:56:09 | 显示全部楼层
逻辑结束也有点问题呀
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-15 12:19:24 | 显示全部楼层
m18088847751 发表于 2015-8-13 21:56
逻辑结束也有点问题呀

哦,第一次做,貌似问题挺多的,包涵啊{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-17 19:07:11 | 显示全部楼层
m18088847751 发表于 2015-8-13 21:54
兄弟,你的非数字输出有点问题呀
>>>
----------------实现判断键盘输入的是整数还是浮点数程序--------- ...

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

评分

参与人数 1鱼币 +5 收起 理由
~风介~ + 5 正解!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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("游戏结束,不玩啦!")

这个游戏结束的有点突兀,加了个是否继续的判断
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-8-9 10:05:09 | 显示全部楼层
好………………。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-11-10 17:41:59 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-16 18:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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