定义
如果说之前的print()是和计算机单项沟通,输入什么打印什么。那么input()就是我们与计算机沟通的过程
input('请输入一个数字:')
你也可以把input()理解为一个收集信息的容器,并且容器的输入位置只能是终端。注意:这里输入的内容为字符串类型。
赋值
当你完成了信息搜集之后,要做的就是调用信息,那么如何调用呢?这就是我们要讲的赋值。通过赋值,达到随时提取输入结果的目的。
#将函数结果赋值
name = input()
#搜集信息
name = input('请输入一个数字:')
#输出结果
print(name)
这个过程就是信息搜集完之后,进行赋值打印的过程。
input()作为函数其中之一,用法同样是 赋值给变量 - 用函数搜集信息 - 输出结果。
数据类型
这里我们先看下面的代码:
num = input('请输入查询的类型:')
print(type(num))
怎么样,不管你输入的是9,9.0,还是九,结果都是str。这意味着什么呢?之前我们讲到过,input()得到的结果全是字符串。注意:所有类型都会强制转换为字符串。
知道了输入的文本都是字符串以后,我们在数据拼接还是判断条件上都要注意类型的一致性。比如
我们把判断内容改为字符串类型:
num = input('考试得了多少分?')
# 因为输入的是字符串,字符串是无法与整数比较的,必须加引号。
if num >= '80': # 字符串比较
# 因为num是字符串,所以直接拼接,不需要用到转换符。
print('你考了' + num + '分,真棒啊!')
else:
print('还可以呀')
如果第三行是 if num>=80,那么结果就是 TypeError: ‘>=’ not supported between instances of ‘str’ and ‘int’,意思就是不支持字符串和整数比较。
但是input()函数的结果也不全是字符串,还可能是整数。如何做呢?就是给input加上int(),更改它的初始类型。
# 提前转换为整数
num = int(input('考试得了多少分?'))
if num >= 80: # 整数比较
# 拼接类型要一致,所以被num加了str()转换符。
print('你考了' + str(num) + '分,真棒啊!')
else:
print('还可以呀')
有时候我们需要对用户输入的内容进行判断,比如年龄输入只可以是数字。我们可以用isnumeric方法进行处理。
num = input('考试得了多少分?')
if num.isnumeric(): # 用于判断纯数字的方法
if int(num) >= 80:
# 拼接类型要一致,所以被num加了str()转换符。
print('你考了' + str(num) + '分,真棒啊!')
else:
print('还可以呀')
else:
print('----------------------')
print('请输入数字! ')