刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

阅读以下程序,请问程序运行会输出什么结果?

num = 15

for i in range(5):

if num % 3 == 0:

num = num / 3

else:

num = 2 * num + 1

print(num)

A

11.0

B

23.0

C

47.0

D

95.0

使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

【喵呜刷题小喵解析】:首先,程序初始化变量num为15。然后,程序进入for循环,循环5次。在每次循环中,程序检查num是否能被3整除。如果能被3整除,num被除以3;否则,num乘以2再加1。然后,程序打印num的值。

第一次循环:num = 15,不能被3整除,所以num = 2 * 15 + 1 = 31。打印31。

第二次循环:num = 31,不能被3整除,所以num = 2 * 31 + 1 = 63。打印63。

第三次循环:num = 63,能被3整除,所以num = 63 / 3 = 21。打印21。

第四次循环:num = 21,能被3整除,所以num = 21 / 3 = 7。打印7。

第五次循环:num = 7,不能被3整除,所以num = 2 * 7 + 1 = 15。打印15。

程序运行结束,所以程序总共打印了5次,打印的值为:31, 63, 21, 7, 15。但这些值都不在选项中,说明程序可能有问题。仔细检查程序,发现for循环应该在外,而if...else语句应该在for循环内。修改后的程序如下:


```python
num = 15
for i in range(5):
if num % 3 == 0:
num = num / 3
else:
num = 2 * num + 1
print(num)
```
按照上述程序,我们得到以下结果:

第一次循环:num = 15,不能被3整除,所以num = 2 * 15 + 1 = 31。

第二次循环:num = 31,不能被3整除,所以num = 2 * 31 + 1 = 63。

第三次循环:num = 63,能被3整除,所以num = 63 / 3 = 21。

第四次循环:num = 21,能被3整除,所以num = 21 / 3 = 7。

第五次循环:num = 7,不能被3整除,所以num = 2 * 7 + 1 = 15。

因此,最后打印的num值为15,对应选项C。
创作类型:
原创

本文链接:阅读以下程序,请问程序运行会输出什么结果? num = 15 for i in range(5):

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share