交替显示两个系列的数字

时间:2019-09-16 10:19:35

标签: python-3.x

输入格式:输入的第一行包括测试用例的数量T

接下来的T行由N的值组成。

约束:1 <= T <= 100,1 <= N <= 250

输出格式:对于每个测试用例,请在一行中用空格分隔该系列的N个术语。

示例测试用例1

输入:

1
7

输出:

1 1 2 2 4 2 6 

该系列是2个系列的组合,第一个系列:1,2,4,6,...和第二个系列:1,2,2,....我已经为第一个系列编写了代码系列,但找不到第二种编码方式。

根据元素数量追加到列表的第一个系列的代码

def firstS:
    l=[1]
    i=1
    x=math.ceil(7/2)
    while(x!=0):
        l.append(i+i)
        i+=1
        x-=1
    return l

问题是没有元素,第一个系列有7个元素,第一个系列有4个元素,第二个系列有3个元素,第一个系列有8个元素,第一个具有4个元素,第二个有4个元素,第9个元素有第1个具有5个元素,第二个有4个元素,所以元素编号将用于系列1 math.ceil(n/2)和系列2 math.floor(n/2),其中n是组合系列的总元素。

1 个答案:

答案 0 :(得分:0)

对于迭代,每N个迭代执行某项操作的一种方法是使用模运算符(%)。模量基本上是余数运算符,因此当数字逐个迭代时,结果会定期重复。<​​/ p>

此外,在Python中,进行for循环(重复一定次数)的标准方法是使用range

下面是一个演示这两个示例的示例,其中每三个数字都有相同数量的感叹号:

# List the numbers 0-9 (repeat ten times)
for i in range(0, 10):
    if i % 3 == 0:
        print(i, "!")
    elif i % 3 == 1:
        print(i, "!!")
    else:
        print(i, "!!!")

结果:

0 !
1 !!
2 !!!
3 !
4 !!
5 !!!
6 !
7 !!
8 !!!
9 !

我将把它留给问问者一个练习,以确定如何将其应用于在打印两个不同序列之间进行切换的用例。