Python入门数学类编程-----获取用户输入input()函数,处理异常和无效输入,is_integer()函数过滤非整数

input()函数是用来接收用户输入的函数,通过它,我们可以获取一个要求用户输入数字的窗口程序,等用户输入后,就会继续对输入的数字执行特定的操作,然后显示操作的结果。input()函数可以使得一个写好的函数或者程序不断地对不同的输入内容执行操作。

>>> a=input()
47219
>>> a
'47219'
>>> 

可以看到,执行操作后的返回值是以字符串的形式返回的,在Python中,两个引号(单引号和双引号)之间的内容是字符串。
如果要对输入的数字执行更多的数学运算,我们就需要把字符串形式的数字转换为数字类型。
在Python中,我们有int()和float()函数来对字符串形式的数字转换为整数型和浮点型的数字。

>>> int(a)
47219
>>> float(a)
47219.0

注意:int()函数不能对浮点型数字的字符串进行整数型转换

>>> b=input()
3.123
>>> b
'3.123'
>>> float(b)
3.123
>>> int(b)
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    int(b)
ValueError: invalid literal for int() with base 10: '3.123'

同样的,当我们输入分数时,依然会发生异常(exception),异常类型也依然是ValueError异常
对于这样的异常,我们可以在try…except程序块中执行,这样我们就可以处理此异常并提醒用户程序遇到无效输入。
处理异常和无效输入
在try…except程序块中执行一个或多个语句,一旦执行出错,我们的程序也不会崩溃,而是输出一个Traceback。此时,程序的执行会转移到except后的块,我们可以在其中执行适当的操作,例如,输入有用的错误信息或者尝试其他的操作。

try:
	d=float(input('enter a number:'))
except ValueError:
	print('You entered an invalid number')

enter a number:3/5
You entered an invalid number
>>> try:
	e=int(input('Please input an integer:'))
except ValueError:
	print('You entered an invalid number')

Please input an integer:56
>>> e
56

尽管如此,可能还是会有用户在该输入整数的时候输入了浮点数,这时就会引发错误,为了提前避免这种错误,我们可以提前设置一个ValueError捕获。有时候,用户输入的类似2.0、5.0的数,事实上,Python会将这样的数字视为浮点数,但是这种数字其实是等同于整数的,故而,我们可以选择调用函数is_integer()来识别过滤小数点后带有效数字的任何数字,此函数仅针对Python中的float型的数字,

>>> 1.2.is_integer()
False
>>> 1.00.is_integer()
True

由此,我们可以利用is_integer()函数来过滤非整数输入,同时保留带有小数点的整数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值