牛客输入输出总结

在这里插入图片描述
重大失误—注意,input这个函数就是写一次输入一次,出现多少个代表输入多少次。
输入进来被当为字符串。

a = input()
b = input()
print(a)
print("True")
print(b)
a
b
a
True
b

虽然input()可以解决,但是还是补上:
sys.stdin.readlines() 读取一整行

import sys
for line in sys.stdin.readlines():
    line = line.strip()
    n = len(line)
    index = 0
    while index + 8 <= n:
        print line[index:index+8]
        index += 8
    if n - index > 0:
        print line[index:] + '0'*(index+8-n)

多行输入,行数已知

在这里插入图片描述

'多行输入'
res = []
n = int(input())#行数
for _ in range(n):
    s = input()
    if s!='':
        temp = [j for j in s.split()] #str输入
        # temp = [int(j) for j in s.split()] #int输入
        res.append(temp[0])
    else:
        break
print(res)

‘多行输入,行数未知’

使用try except
在这里插入图片描述

'多行输入,行数未知'
res = []
while True:
    try:
        s = input()
        # res.append(list(map(int, s.split(' '))))
        res.append(list(map(str, s.split(' '))))  # res.append(s.strip().split()) # res.append(s.strip().split(' '))
    except:
        break

strip的使用

grid = []
line = input().strip().split("],")
for li in line:
    print(li)
    li = li.strip("[").strip("]").split(",")
    grid.append(li)
print(grid)
[[1,1,0,0,0],[0,1,0,1,1],[0,0,0,1,1],[0,0,0,0,0],[0,0,1,1,1]]
[[1,1,0,0,0
[0,1,0,1,1
[0,0,0,1,1
[0,0,0,0,0
[0,0,1,1,1]]
[['1', '1', '0', '0', '0'], ['0', '1', '0', '1', '1'], ['0', '0', '0', '1', '1'], ['0', '0', '0', '0', '0'], ['0', '0', '1', '1', '1']]

牛客的坑爹输入输出:
在这里插入图片描述
即使说了最后的输出是list,但是正常的操作会导致空格问题…不知道为啥,所以必须先转换位str,强制把里面的" “转化为”"
print(str(Solution().solve(eval(res[0]), eval(res[1]))).replace(" ", “”))----记住就行了。目的是每一次的题目都要自己写input()。

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
# 求二叉树的右视图
# @param xianxu int整型一维数组 先序遍历
# @param zhongxu int整型一维数组 中序遍历
# @return int整型一维数组
#
from collections import deque
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

class Solution:
    def solve(self , xianxu , zhongxu ):
        # write code here
        out = []
        queue = deque()
        
        def level(root, queue):
            res = deque()
            while queue:
                node = queue.popleft()
                if node.left:
                    res.append(node.left)
                if node.right:
                    res.append(node.right)
                if not queue:
                    out.append(node.val)
                    queue = res
                    res = deque()
        
        def find_root(xianxu, zhongxu):
            for i in range(len(zhongxu)):
                if zhongxu[i] == xianxu[0]:
                    return i
        def re_build(xianxu, zhongxu):
            if not xianxu:
                return
            node = TreeNode(xianxu[0])
            index = find_root(xianxu, zhongxu)
            node.left = re_build(xianxu[1:1+index], zhongxu[0:index])
            node.right = re_build(xianxu[1+index:], zhongxu[index+1:])
            return node
        root = re_build(xianxu, zhongxu)
        queue.append(root)
        level(root, queue)
        return out
    
res = input().strip().split("],[")
res[0] = res[0] + "]"
res[1] = "[" + res[1] 
print(str(Solution().solve(eval(res[0]), eval(res[1]))).replace(" ", ""))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值