美文网首页
python输入输出

python输入输出

作者: 微斯人_吾谁与归 | 来源:发表于2019-08-05 09:28 被阅读0次

    前天做了那个网易的笔试,发现在输入输出问题上浪费许多时间。这里总结一下。

    有多组输入数据,但没有具体的告诉你有多少组,只是让你对应每组输入,应该怎样输出。

    while True:  
        try:  
            num = list(map(int, input().strip().split()))
            print(num[0]+num[1]),#print加逗号不会换行
        except EOFError:  
            break  
    
    

    输入一个整数,告诉我们接下来有多少组数据,然后在输入每组数据的具体值

    numcase = int(raw_input().strip())  
    for case in range(numcase):  
          nums=[int(i) for i in input().strip().split()]
          print(...) 
    

    输入有多组,并却题目告诉你每组输入遇见什么结束,与第三种不同之处在于,每组输入都有相应的细化

    tcase = int(raw_input().strip())  
    for case in range(tcase):  
        a, b = map(int, input().strip().split())  
        if a == 0 and b == 0:  
            break  
        print a + b, 
    

    有多种输入数据,对于每组输入数据的第一个数代表该组数据接下来要输入数据量

    while True:  
        try:  
            data = map(int, input().strip().split())  
            n, array = data[0], data[1:]  
            sum = 0  
            for i in range(n):  
                sum += array[i]  
            print sum,  
        except EOFError:  
            raise  
    

    这种类型的输出注意的就是换行,这类题目说在输出样例中,每组样例之间有什么什么,所以我们在对应输出的同时要判断一下是否是最后一组输出,如果不是,就 将题目所说的东西输出(一般是换行或空格),如果是,就直接结束。

    while True:  
        data = raw_input().strip()  
        if data.isspace():  
            break  
        else:  
            data = map(int, data)  
            n, array = data[0], data[1:]  
    
            sum = 0  
            for i in range(n):  
                sum += array[i]  
            print sum,  
    

    六:列表生成式

    [x * x for x in range(1, 11)]
    [x * x for x in range(1, 11) if x % 2 == 0]
    [m + n for m in 'ABC' for n in 'XYZ']
    
    >>> d = {'x': 'A', 'y': 'B', 'z': 'C' }
    >>> for k, v in d.items():
    ...     print(k, '=', v)
    ...
    y = B
    x = A
    z = C
    
    
    
    

    相关文章

      网友评论

          本文标题:python输入输出

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