1、合并数组
简单来说就是:给多个数组,然后截取固定长度,放入新数组,在截取第二个数组放入新数组,全部遍历完以候,循环遍历这些个数组,直到每个数组的末尾
输入:
3#固定长度
1 3 5 67 6 5
5 7
输出1,3,5,5,7,67,6,5
输入:
2
2 3 5 6 3 9
3 5 7 8 9
输出:
2,3,3,5,5,6,7,8,3,9,9
例1固定长度为3,先遍历第一行,获得1,3,5第二行,5,7,在遍历第一行67,6,5
笔者在这yharm测试了,但是我没发现自己选的是py2,我用的是py3,一直报错,后来人告诉我有自测可以看错误,然后第一题在本机上可以,还是没通过,以下是答案不知道对错
import sys
#
if __name__ == "__main__":
n = int(sys.stdin.readline().strip()) # 每次读几个
result = []
line = sys.stdin.readline().strip()
a=[]
while line:
# 把每一行的数字分隔后转化成int列表
values = list(map(int, line.split()))
a.append(values)
# length=len(values)
line = sys.stdin.readline().strip()
L=len(a)
while a!=[[]]*L:
# print(1)
for i in range(L):
length=len(a[i])
if length >= n:
for j in range(n):
result.append(a[i][j])
a[i] = a[i][n:]
elif length < n and length > 0:
for j in range(len(a[i])):
result.append(a[i][j])
a[i] = []
elif length==0:
continue
# print(result)
for i in range(len(result)):
if i==len(result)-1:
print(result[i])
else:
print(result[i],end=",")
2,题目超级长(多行输入,最多不超过100行)
对输入的字符串要看是否是合法的(合法字符集0-9,a-z,A-Z),合法就进行去重(就是后续的输入中有没有和这合法字符串长得一样的),不合法不去重,
输出要求:输出合法字符并去重、输出非法字符串(我想应该是按照输入的顺序来的),对合法的字符串进行循环左移10次(abc变为bca),左移后对合法字符按照ascii表从小到大排序,输出两个字符串之间用空格隔开
然后这题写不上来