在Python中,使用input函数可以获取用户的输入,input函数能够让程序暂停运行,等待用户输入一些内容,然后将用户输入的内容保存为一个字符串。注意,input函数的返回值是一个字符串类型,比如用户输入一个数字6,input函数返回的也是字符串 ‘6’,而不是整数6。因此,在使用input函数获取用户输入的数字时,要在input函数之后做类型转换,这个要注意。下面通过几个示例对input函数做一下演示。
input函数可以传入一个字符串,作为给用户的输入提示。当用户输入完成后,按回车enter键即可。type
函数是Python的内置函数之一,可以查看变量的类型。
示例1:输入字符串
# 示例1
name = input('请输入你的姓名:')
print(name)
print(type(name))
输出:
在示例1中,提示输入姓名,并将输入的姓名内容赋值给了name变量,后面就可以通过访问变量name来查看输入的姓名。可以看到,变量name的类型为str字符串类型。
示例2:输入数字
# 示例2
age = input('请输入你的年龄:')
print(age)
print(type(age))
输出:
在示例2中,提示输入年龄,我们都知道年龄应该是一个数字类型,但是输入数字28之后,变量age却是被赋值为字符串28。因此,为了防止程序后面会用到变量age,这里应该做一个类型转换,下面会介绍。
示例3:输入为空字符
# 示例3
address = input('请输入你的住址:')
print('>>>', address, '<<<')
输出:
在示例3中,提示输入住址,然后这里我们什么都没有输入,直接enter。可以发现,input函数获取到的是一个空字符串。
示例4:输入中含有空白
# 示例4
hobby = input('请输入你的爱好:')
print('>>>', hobby, '<<<')
输出:
在示例4中,提示输入爱好,但是在输入内容的前后多按了一些空格,而input函数并不会处理这些空白。
从上面的几个示例中,可以发现,不管用户输入什么,input函数都会原封不动地获取并转为字符串。因此,为了避免不合理的输入内容造成程序报错,一般都需要对用户的输入做一些处理,下面介绍一些常见的处理用户输入内容的操作。
将输入的字符串类型转换为数字类型
将输入的内容转换为数字类型,可以在input获取到输入内容之后,直接进行类型转换。
age = input('请输入你的年龄:')
age = int(age) # 将字符串str转化为整数int
print(age)
print(type(age))
if age >= 18:
print("年满18岁")
else:
print("未满18岁")
输出:
对于直接进行类型转换的方法,如果用户输入的是纯数字,是行得通的。但是如果用户的输入中含有字符,就会出现问题。还是上面的程序,但是不再输入纯数字,就会出现ValueError
的错误。
解决上面ValueError
的问题,可以在使用类型转换之前,先对输入内容进行判断,修改如下:
age = input('请输入你的年龄:')
# isdigit函数可以判断字符串是否为纯数字格式
if age.isdigit():
age = int(age) # 将字符串str转化为整数int
print(age)
print(type(age))
if age >= 18:
print("年满18岁")
else:
print("未满18岁")
else:
print("年龄输入不合法!")
输出:
还可以在类型转换时通过异常捕获,来解决上面ValueError
的问题。
age = input('请输入你的年龄:')
try:
age = int(age) # 将字符串str转化为整数int
print(age)
print(type(age))
if age >= 18:
print("年满18岁")
else:
print("未满18岁")
except ValueError as e:
print('年龄输入不合法!')
输出:
对空输入进行判断
对空输入作判断,非常简单。
address = input('请输入你的住址:')
if address:
print('>>>', address, '<<<')
else:
print('地址输入为空!')
输出:
去除字符串前后的空白
去除字符串前后的空白,可以使用字符串的strip
方法,只去除左侧的空白可以使用lstrip
方法,只去除右侧的空白可以使用rstrip
方法。
hobby = input('请输入你的爱好:')
print(hobby)
hobby = hobby.strip()
print(hobby)
输出:
如果这篇内容对你有所帮助,欢迎点赞,收藏,转发,让更多的小伙伴也能看到哦~