资源简介 第9课 for循环应用实例 任务:棋盘与麦粒 第1格放1粒麦粒,第2格放2粒麦粒,第3格放4粒,第4格放8粒,以后每一格的数量都比前一格增加一倍,摆满64格就够了。 填写下表,找一找每格麦粒数和循环次数的关系 {5940675A-B579-460E-94D1-54222C63F5DA}循环变量i 单格麦粒数n 总数s 0 1 1 1 n=2**1 2 n=2**2 3 n=2**i 4 5 …… …… …… 观察规律,写出n和s的数学表达式: n=2**i s=s+n 尝试完善程序,进行编译测试: s=1 for i in range(1,64): s=s+n n=2*i print(s) s=1 for i in range(1,64): s=s+n n=2*i print(s) 尝试完善程序,进行编译测试: for循环知识链接: 计数器:在算法执行过程中,用来记录某种事件发生次数的变量。1、计数器的初值通常置为0。2、循环体中的计数语句格式通常为i=i+1. 累加器:在算法执行过程中,用来生成 并存储数据累加和的变量。1、累加器的初值通常置为0;2、循环体中的累加语句格式通常为s=s+x。 尝试可将麦粒重量转化为吨数,试完善程序,进行编译测试: 输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153 = 13 + 53 + 33 。 【分析】 (1)本题需要对100 ~ 999范围内的所有数一一进行判断。 (2)本题的变量 i 既是循环变量,同时也是被判断的数。 (3)每次循环过程中需要用 if 语句进行条件判断。因此本题也是循环嵌套选择的结构。 提问: 变量 i 是一个三位整数,例如 i = 123 (1)请写出分离 i 的百位数的表达式。 (2)请写出分离 i 的十位数的表达式。 (3)请写出分离 i 的个位数的表达式。 程序如下: """ num = int(input("请输入一个三位数:")) # print('%s*10^2+%s*10+%s' % (num[0], num[1], num[2])) gw = num%10 sw = (num/10)%10 bw = num/100 total = gw*gw*gw + sw*sw*sw + bw*bw*bw if( total == num): print("是水仙花数") else: print("不是水仙花数") """ shuixianhua=[] for i in range(1,10): for j in range(10): for k in range(10): if i*i*i + j*j*j + k*k*k == 100*i + 10*j + k: shuixianhua.append(100*i + 10*j + k) for i in shuixianhua: if i == shuixianhua[-1]: print(i) else: print(i, end = ',') 总结 同学们,请你回想一下,这节课你有什么收获 展开更多...... 收起↑ 资源预览