完善程序,求数列2/1、3/2、5/3、8/5、13/8、21/13…前20项。
lt=[] #lt列表用来存放数列数据项
a=1 #数列第0个数据项为b/a,即2/1
b=2
for i in range(0,20): #通过循环依次产生20项数据并添加至lt列表中
x="{}/{}".format(b,a) #新求得数据项x
lt.append(x) #将x添加至列表lt末尾
c=a+b
a= #a和b的值更新,为计算下一个数据项做好准备
b=
for i in range(0,20):
print(lt[i],end=",")
lt=[] #lt列表用来存放数列数据项
a=1 #数列第0个数据项为b/a,即2/1
b=2
for i in range(0,20): #通过循环依次产生20项数据并添加至lt列表中
x="{}/{}".format(b,a) #新求得数据项x
lt.append(x) #将x添加至列表lt末尾
c=a+b
a= #a和b的值更新,为计算下一个数据项做好准备
b=
for i in range(0,20):
print(lt[i],end=",")
举一反三
- 下面程序的功能是生成并打印某数列的前20项,该数列第1,2项分别为0和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20个数存在一维数组x中,并按每行4项的形式输出。 main() { int x[21],i,j; x[0]=0;x[2]=1; i=3; do {x[i]=【1】; x[i+1]=【2】; i=【3】; } while (i<=20); for (i=1;i<=20;i++) {printf("%5d",x[i]); if (i%4= =0) printf("\n"); } }
- ls = [ i+j for i in range(1, 5) for j in range(10, 40, 10) ]lt = [ [i+j for i range(1, 5)] for j in range(10, 40, 10) ]关于列表ls和lt,以下说法不正确的是( )。 A: 两个列表推导式都是用嵌套循环来生成的。 B: 列表ls是一维列表,列表lt是二维列表。 C: 两个列表的元素个数是相同的。 D: ls[2]是31,lt[2]是[31,32,33,34]。
- 将\(f(x) = {1 \over {1 + {x^2}}}\)展开成\(x\)的幂级数为( )。 A: \({1 \over {1 + {x^2}}} = \sum\limits_{n = 0}^\infty { { {( - 1)}^n}{x^{2n}}} \matrix{ {} & {} \cr } ( - \infty < x < + \infty )\) B: \({1 \over {1 + {x^2}}} = \sum\limits_{n = 0}^\infty { { {( - 1)}^n}{x^{2n}}} \matrix{ {} & {} \cr } ( - 1< x < 1)\) C: \({1 \over {1 + {x^2}}} = \sum\limits_{n = 0}^\infty { { {( - 1)}^n}{x^{2n}}} \matrix{ {} & {} \cr } ( - 1 < x < 1)\) D: \({1 \over {1 + {x^2}}} = \sum\limits_{n = 0}^\infty { { x^{2n}}} \matrix{ {} & {} \cr } ( - 1 < x < 1)\)
- 若有定义int x[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是: A: for(i=0;i<6;i++) cout<<setw(2)<<*(p++); B: for(i=0;i<6;i++) cout<<setw(2)<<*(p+i); C: for(i=0;i<6;i++) cout<<setw(2)<<*p++); D: for(i=0;i<6;i++) cout<<setw(2)<<(*p)++;
- 下面说法错误的是( )。知识点:列表推导式 A: dict([(x, x**2) for x in range(6)]) 创建的字典是{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25} B: [[x*3+y for y in range(1,4)] for x in range(3)] 创建的是二维列表 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] C: number = [-2, 4, 6, -5]string = 'ab'z = [(i, j) if i>0 else (-i, j) for i in number for j in string]这段代码创建的列表为[(2, 'a'), (2, 'b'), (4, 'a'), (4, 'b'), (6, 'a'), (6, 'b'), (5, 'a'), (5, 'b')] D: ' '.join([i for i in range(1,11)])的运算结果为字符串'1 2 3 4 5 6 7 8 9 10'