题型:单选题
在数学中N!表示N的阶乘,即1到N的乘积,如 3!=1*2*3 ,且 0! = 1 。下面的两段Python代码用于求1-N的阶乘之和,如N为3,则是 1!+2!+3! 。选项中的说法,正确的是( )。
#实现1 N = int(input()) tnt, last = 0, 1 for i in range(1,N + 1): last *= i tnt += last print(tnt)
#实现2 N = int(input()) tnt = 0 for i in range(1, N + 1): tmp = 1 for j in range(1,i + 1): tmp *= j tnt += tmp print(tnt)
| A. 虽然实现1的代码短小,但效率并不高 |
B. 实现2的代码效率更高,且更易于理解 |
| C. 实现1因为应用了前项计算结果,计算量更小,因此效率高 |
D. 两种实现,效率几乎一致 |
更新时间:2025-06-19 15:11:29
|
【知识点】
CCF—GESP Python二级
抱歉! 您未登录, 不能查看答案和解析点击登录
相似题推荐
单选题
下面的Python 代码执行后其输出是( )。
cnt = 0 for i in range(1, 5): for j in range(i): print(j, end = "#") break else: print(i*j)
| A. 0#0#1#0#1#2#0#1#2#3#12 |
B. 0#0#1#0#1#2#0#1#2#3# |
| C. 0# |
D. 1# |
2026-07-31
判断题
下列Python 代码执行后将输出1#4#9#16#16 。()
for i in range(1, 5): for j in range(1, i + 1): if i * j % 10 == 0: break else: print(i * j, end = "#") else: print(i * j)
| A.正确 | B.错误 |
2026-07-31
判断题
下面的Python 代码执行将不会有输出,因为内层循环j 总是0 开始,i * j % 10 == 0 将会被满足,执行break,故而不会执行代码中的else 子句部分。()
for i in range(1, 10): for j in range(i): if i * j % 10 == 0: break else: print(i*j)
| A.正确 | B.错误 |
2026-07-31
判断题
执行下面的Python 代码,其语句print(N) 将被执行0 次或极多次(即死循环)。()
N = input() while N : print(N)
| A.正确 | B.错误 |
2026-07-31
单选题
下面选择项中,与Python 表达式not (x > 5 and y <= 10)等价的是( )。
| A. x <= 5 and y > 10 |
B. x > 5 or y <= 10 |
| C. x <= 5 or y > 10 |
D. not x > 5 and not y <= 10 |
2026-07-31
