【Python/Pythonic Solutions】牛客网OJ在线编程常见输入输出练习场Python语言练习题解

  • Post author:
  • Post category:python



关键信息


  1. sys.stdin

    为系统级标准输入,适用于系统级程序交互的情形,

    stdin

    返回一个可迭代对象,其每一项为一行字符串数据读取,包含句末的换行分隔符;

  2. strip()

    方法默认移除字符串两边的空格和换行,而

    split()

    方法默认利用空字符对字符串进行切片,其中空格、换行(\n)、制表符(\t)均为空字符,因此

    split()

    在默认分隔符的情形下隐式移除了字符串两边的空字符,也即包含

    strip()

    预处理,所以在本文方法中使用默认切片

    split()

    的情况下均不考虑

    strip()

    ,而在显式利用其它字符,如

    split(',')

    时加入

    strip()

    预处理;


选读

  1. 文中代码多次创建变量

    ints

    ,随后对其求和,其实多数情况下两步可化归为一步,但为了提升初次阅读的可读性,引入中间变量

    ints

    表示读取的测试整数集;
  2. 文中包含

    continue



    break

    语法的

    if-else

    语句省略了对必然出现的

    else

    的显示表达,可通过添加

    else

    提升可读性;
  3. 文中利用

    sum

    内置函数进行整数求和运算,提升前后多例代码的一致性;
  4. 文中对题目求解无关信息直接进行了忽略处理,但代码结构其实考虑到了相关信息的提取步骤,因此可以在代码微改的情况下提取相关信息,读者可自行尝试。



#A –

A+B(1)

import sys
 
for line in sys.stdin:
    ints = [int(n) for n in line.split()]
    print(sum(ints))



#B –

A+B(2)

import sys
 
for i, line in enumerate(sys.stdin):
    if i == 0:
        continue
     
    ints = [int(n) for n in line.split()]
    print(sum(ints))



#C –

A+B(3)

import sys
 
for line in sys.stdin:
    ints = [int(n) for n in line.split()]
    if all([n == 0 for n in ints]):
        break
        
    print(sum(ints))



#D –

A+B(4)

import sys
 
for line in sys.stdin:
    ints = [int(n) for i, n in enumerate(line.split()) if i > 0]
    if ints:
        print(sum(ints))
    else:
        break



#E –

A+B(5)

import sys
 
for i, line in enumerate(sys.stdin):
    if i == 0:
        continue
     
    ints = [int(n) for i, n in enumerate(line.split()) if i > 0]
    print(sum(ints))



#F –

A+B(6)

import sys
 
for line in sys.stdin:
    ints = [int(n) for i, n in enumerate(line.split()) if i > 0]
    print(sum(ints))



#G –

A+B(7)

import sys

for line in sys.stdin:
    print(sum([int(n) for n in line.split()]))



#H –

字符串排序(1)

import sys

for i, line in enumerate(sys.stdin):
    if i % 2 == 0:
        continue
        
    print(' '.join(sorted([s for s in line.split()])))



#I –

字符串排序(2)

import sys

for line in sys.stdin:
    print(' '.join(sorted([s for s in line.split()])))



#J –

字符串排序(3)

import sys

for line in sys.stdin:
    print(','.join(sorted([s for s in line.strip().split(',')])))



版权声明:本文为weixin_43958105原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。