目录
  • input() 的用法
    • Python3.x 中
    • Python2.x 中
  • 扩展—将控制台输入的字符串转化成列表
    • input函数的高级使用
      • 输入一个数10回车
      • 输入30回车
      • 查看类型
      • 另一种方法

    input() 的用法

    Python3.x 中

    input() 函数接受一个标准输入数据,返回为 string 类型。

    python3将input() 和 raw_input() 进行了整合,去除了raw_input( ),仅保留了input( )函数。

    Python2.x 中

    input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。

    raw_input() 将所有输入作为字符串看待,返回字符串类型。

    input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

    注意:python2里input() 和 raw_input() 这两个函数均能接收字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

    注意:python3 里input() 默认接收到的是 str 类型。

    示例:

    #python2
    #input() 需要输入 python 表达式
    >>>a = input("input:")
    input:123                  # 输入整数
    >>> type(a)
    <type 'int'>               # 整型
    >>> a = input("input:")    
    input:"runoob"           # 正确,字符串表达式
    >>> type(a)
    <type 'str'>             # 字符串
    >>> a = input("input:")
    input:runoob               # 报错,不是表达式, 字符串需加引号
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<string>", line 1, in <module>
    NameError: name 'runoob' is not defined
    <type 'str'>
     
    #raw_input() 将所有输入作为字符串看待
    >>>a = raw_input("input:")
    input:123
    >>> type(a)
    <type 'str'>              # 字符串
    >>> a = raw_input("input:")
    input:runoob
    >>> type(a)
    <type 'str'>              # 字符串
     
    #python3 
    #input() 示例用法如同raw_input

    扩展—将控制台输入的字符串转化成列表

    示例:

    eg1.

    >>> x=input()
    1,2,3,4
    >>> xlist=x.split(",")
    >>> print(xlist)
    ['1', '2', '3', '4']
    >>> xlist = [int(xlist[i]) for i in range(len(xlist))] #for循环,把每个字符转成int值
    >>> print(xlist)
    [1, 2, 3, 4]
     
    #split(“”)函数的参数可以是任何分隔符,包括(a,b,c….;1,2,3…;%,!,*,空格)

    eg2.

    >>> x=input()
    1 2 3 4
    >>> xlist=x.split(" ")
    >>> print(xlist)
    ['1', '2', '3', '4']
    >>> xlist = [int(xlist[i]) for i in range(len(xlist))]
    >>> print(xlist)
    [1, 2, 3, 4] 

    转换成元组的方法类似。

    附:str list tuple 相互转换的方法:

    列表,元组和字符串python中有三个内建函数:他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示:

    >>> s = "xxxxx"
     
    >>> list(s)
    ['x', 'x', 'x', 'x', 'x']
    >>> tuple(s)
    ('x', 'x', 'x', 'x', 'x')
     
    >>> tuple(list(s))
    ('x', 'x', 'x', 'x', 'x')
    >>> list(tuple(s))
    ['x', 'x', 'x', 'x', 'x']

    列表和元组转换为字符串则必须依靠join函数,如下所示:

    >>> "".join(tuple(s))
    'xxxxx'
    >>> "".join(list(s))
    'xxxxx'
     
    >>> str(tuple(s))
    "('x', 'x', 'x', 'x', 'x')"

    input函数的高级使用

    a = input('请输入一个加数:')
    b = input('请输入一个加数:')
    print(a+b)

    python中input()的用法及扩展

    输入一个数10回车

    python中input()的用法及扩展

    输入30回车

    python中input()的用法及扩展

    查看类型

    a = input('请输入一个加数:')
    b = input('请输入一个加数:')
    print(type(a),type(b))
    print(a+b)

    python中input()的用法及扩展

    python中input()的用法及扩展

    a = input('请输入一个加数:')
    a = int(a) #将转换之后的结果存储到a中
    b = input('请输入一个加数:')
    b = int(b)
    print(type(a),type(b))
    print(a+b)

    python中input()的用法及扩展

    另一种方法

    a = int(input('请输入一个加数:'))
    b = int(input('请输入一个加数:'))
    print(type(a),type(b))
    print(a+b)

    python中input()的用法及扩展

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

    声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。