美文网首页
【Python】input()与sys.stdin()使用比较

【Python】input()与sys.stdin()使用比较

作者: 玉米fight | 来源:发表于2020-04-17 10:45 被阅读0次

    python3中,支持输入的有两种方式:input()、sys.stdin(),差别我们从以下几点来看:
    1、输入的类型
      ①默认均为str类型

    import sys
    a=input()
    b=sys.stdin.readline()
    print (type(a))
    print (type(b))  
    
    image.png

    ②追加split()方法后,变更list类型

    import sys
    a=input().split()
    b=sys.stdin.readline().split()
    print(type(a))
    print(type(b))
    
    image.png

    (补充)split()方法作用:拆分字符串后转成list类型

    a="a b c"
    b="a   b  c"
    c="a,b,c,d; e"
    print(a.split())   #默认单个/多个空格分隔
    print(b.split(" ")) #单个空格分隔
    print(c.split(','))  #根据,分隔
    
    image.png

    2、输出的结果
    ①input()输出所有(包含空格),sys.stdin()输出所有(包含空格,最后会多1个‘/n’换行符)

    import sys
    nums=sys.stdin.readline()
    a=input()
    for i in range(len(a)):
        print (a[i])
    print ("input()")
    for j in range(len(nums)):
        print (nums[j])
    print("sys.stdin()")
    
    image.png

    ②追加strip()后,打印结果过滤末行换行符

     import sys
    nums=sys.stdin.readline().strip()
    a=input().strip()
    for i in range(len(a)):
        print (a[i])
    print ("input()")
    for j in range(len(nums)):
        print (nums[j])
    print("sys.stdin()") 
    
    image.png

    (补充)strip()方法作用:移除字符串头尾指定的字符
    ③追加split(),根据空格切割输出

    import sys
    nums=sys.stdin.readline().strip().split()
    a=input().strip().split()
    for i in range(len(a)):
        print (a[i])
    print ("input()")
    for j in range(len(nums)):
        print (nums[j])
    print("sys.stdin()")
    
    image.png

    相关文章

      网友评论

          本文标题:【Python】input()与sys.stdin()使用比较

          本文链接:https://www.haomeiwen.com/subject/alcevhtx.html