📅  最后修改于: 2023-12-03 15:26:02.998000             🧑  作者: Mango
本次UGC NET CS的问题36涉及到程序设计和算法。
考虑下面的程序段。
def fun(n):
for i in range(n):
j = 1
while j ** 2 < i:
print(j ** 2)
j += 1
fun(4)
该程序的输出是什么?
A. 1, 1, 1, 1, 1, 1
B. 1, 1, 1, 1, 1, 1, 1, 1
C. 编译错误,因为while后面的条件表达式是错误的
D. 输出无限个数字并且程序不会结束
这个问题是一道Python代码输出问题。通过阅读代码,我们可以看到程序进行了如下几个步骤:
通过阅读代码可以发现,在fun(4)的调用中,循环的迭代次数为4,所以这个程序会输出1,1,1,4,1,1,1,4,9。答案是B。
程序员们可以借鉴以下几个要点:
代码片段:
def fun(n):
for i in range(n):
j = 1
while j ** 2 < i:
print(j ** 2)
j += 1
fun(4)
参考文献: