Python语言程序设计第5章 循环
第5章 循环
5.1分析下面的代码。在A、B、C处count<100总为true,总为false,还是有时true有时false? Count = 0
While count < 100:
#A
Print ‘’pramming is fun!
Count += 1
#B
#C
答:A处一直为true,B处有时为真有时为假,C处一直为假。
5.2如果把程序清单5-3中的第8行的guess初始化为0,错在哪里?
答:产生的随机数有可能为0,此时循环将不会执行。
5.3下边的循环体被重复了多少次?每次循环的输出结果是多少?
答:a、循环体被重复无限次,没有输出结果;
B、循环体被重复无限次,没有输出结果;
c、循环体被执行了9次,输出结果为2\n 4\n 6\n 8(4行)
5.4指出下面代码的错误:
答:a、b均为死循环,c没有循环体。
5.5假设输入值为“2 3 4 5 0”(每行一个数),下面代码的输出结果是什么? 答:5 0(每行一个数)
5.6假设输入值为“2 3 4 5 0”(每行一个数),下面代码的输出结果是什么? 答:14 4(每行一个数)
5.7你能把任何一个for循环转换为while循环吗?列出for循环的优点。
答:可以。For循环的优点是更加简洁和可实现性。编译器产生的代码可以比while循环更高效的执行。
5.8将下面的for循环转换为while循环。
Sum = 0 答:sum = 0
For i in range(1001): i = 0
Sum = sum + i while i < 1001:
Sum = sum + i
i += 1
5.9你能将任意的while循环转换成for循环吗?将下面这个while循环转换成for循环。 i = 1 答:sum = 0
Sum = 0 for i in range(1, 1000): While sum < 1000: sum = sum + i
Sum = sum + i
i +=1
5.10统计下面循环的迭代次数:
答:a、n次 b、n次 c、n - 5 d、ceil((n - 5) / 3)
5.12如果你知道一个数n1的公约数不可能大于n1/2,你就可以试图使用下面的循环来改善你的程序:
K = 2
While k <= n1 / 2 and k <= n2 / 2: