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("游戏结束,不玩啦!") 兄弟,你的非数字输出有点问题呀
>>>
----------------实现判断键盘输入的是整数还是浮点数程序----------------
少侠,请从键盘上任意输入一个数字吧: 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
逻辑结束也有点问题呀
哦,第一次做,貌似问题挺多的,包涵啊{:1_1:} m18088847751 发表于 2015-8-13 21:54
兄弟,你的非数字输出有点问题呀
>>>
----------------实现判断键盘输入的是整数还是浮点数程序--------- ...
忘记加一条判断判断出是非数字时引发报错,在这里我在程序第五行增加了 find=float(temp),如果输入的为非数字,则程序会强制转换类型出错,这样既避免了用户输入非数字啦 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("游戏结束,不玩啦!")
这个游戏结束的有点突兀,加了个是否继续的判断 好………………。 学习了
页:
[1]