重大失误—注意,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(" ", ""))