定义

如果说之前的print()是和计算机单项沟通,输入什么打印什么。那么input()就是我们与计算机沟通的过程

  1. input('请输入一个数字:')

你也可以把input()理解为一个收集信息的容器,并且容器的输入位置只能是终端。注意:这里输入的内容为字符串类型。

赋值

当你完成了信息搜集之后,要做的就是调用信息,那么如何调用呢?这就是我们要讲的赋值。通过赋值,达到随时提取输入结果的目的。

  1. #将函数结果赋值
  2. name = input()
  3. #搜集信息
  4. name = input('请输入一个数字:')
  5. #输出结果
  6. print(name)

这个过程就是信息搜集完之后,进行赋值打印的过程。

input()作为函数其中之一,用法同样是 赋值给变量 - 用函数搜集信息 - 输出结果。

数据类型

这里我们先看下面的代码:

  1. num = input('请输入查询的类型:')
  2. print(type(num))

怎么样,不管你输入的是9,9.0,还是九,结果都是str。这意味着什么呢?之前我们讲到过,input()得到的结果全是字符串。注意:所有类型都会强制转换为字符串。

知道了输入的文本都是字符串以后,我们在数据拼接还是判断条件上都要注意类型的一致性。比如

我们把判断内容改为字符串类型:

  1. num = input('考试得了多少分?')
  2. # 因为输入的是字符串,字符串是无法与整数比较的,必须加引号。
  3. if num >= '80': # 字符串比较
  4. # 因为num是字符串,所以直接拼接,不需要用到转换符。
  5. print('你考了' + num + '分,真棒啊!')
  6. else:
  7. print('还可以呀')

如果第三行是 if num>=80,那么结果就是 TypeError: ‘>=’ not supported between instances of ‘str’ and ‘int’,意思就是不支持字符串和整数比较。

但是input()函数的结果也不全是字符串,还可能是整数。如何做呢?就是给input加上int(),更改它的初始类型。

  1. # 提前转换为整数
  2. num = int(input('考试得了多少分?'))
  3. if num >= 80: # 整数比较
  4. # 拼接类型要一致,所以被num加了str()转换符。
  5. print('你考了' + str(num) + '分,真棒啊!')
  6. else:
  7. print('还可以呀')

有时候我们需要对用户输入的内容进行判断,比如年龄输入只可以是数字。我们可以用isnumeric方法进行处理。

  1. num = input('考试得了多少分?')
  2. if num.isnumeric(): # 用于判断纯数字的方法
  3. if int(num) >= 80:
  4. # 拼接类型要一致,所以被num加了str()转换符。
  5. print('你考了' + str(num) + '分,真棒啊!')
  6. else:
  7. print('还可以呀')
  8. else:
  9. print('----------------------')
  10. print('请输入数字! ')