欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

20190403华为笔试题

程序员文章站 2022-06-09 11:18:20
...

输入整数n,
输入多行数组,
对于每个数组,取前n个数,添加至结果数组中。直至数组为空。
输出结果数组。

例,输入:
2
1,1,1,1,1
2
3,3,3
输出:
1,1,2,3,3,1,1,3,1
此次题目输入,跟以往输入不同,没有告诉我们要输入多少行数组,所以需要一个结束输入条件,经过测试,当输入为空字符时,结束输入

gap = eval(input()) # 取数间隔
nums = [] 
total = 0 # 结果数组的长度
result = []
try:
    while True:
        num = input()
        if num == '':
            break
        total += len(num.split(','))
        nums.append(num.split(','))
except:
    pass
    
while len(result) < total:
# 当所有数组元素还没取完的时候,继续遍历,取数
    for i,j in enumerate(nums):
        if len(j):
            result.extend(nums[i][:gap])
            nums[i][:gap] = []  

print(','.join(result))print(','.join(result))
相关标签: 笔试