鱼C论坛

 找回密码
 立即注册
查看: 1526|回复: 3

[已解决](课后作业)第006讲及第007、008讲及第009讲问题请益

[复制链接]
发表于 2017-12-26 10:48:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、第006讲:print(2**2**32)会内存不够用,但为什么print((2**2)**32)却可以呢?
二、第007、008讲:早期的三元操作符(x < y and [x] or [y])[0],我不是很明白为什么x,y要加中括号且为什么要加0及其中括号?
三、第009讲:水仙花数的解答程式如下
  1. for i in range(100, 1000):
  2.     sum = 0
  3.     temp = i
  4.     while temp:
  5.         sum = sum + (temp%10) ** 3
  6.         temp //= 10         # 注意这里要使用地板除哦~
  7.     if sum == i:
  8.         print(i)
复制代码

但我將temp拿掉,如下
  1. for i in range(100, 1000):
  2.     sum1 = 0
  3.     while i:
  4.         sum1 = sum1 + (i % 10)**3
  5.         i = i // 10
  6.     if sum1 == i:
  7.         print(i)
复制代码

程式会跑不出来,但我的问题是在i = 100时,运行后,i 会是等于0,第一次回圈跑完后,回到for 时,i 为什么不会自己再赋值为101,再继续往下跑呢?
最佳答案
2017-12-26 11:05:12
一、第006讲:print(2**2**32)会内存不够用,但为什么print((2**2)**32)却可以呢?
结合性的问题,第一种情况会是2**(2**32)!这是2的多少次方啊! 后面是4的32次方,明显比第一个小的多

二、第007、008讲:早期的三元操作符(x < y and [x] or [y])[0],我不是很明白为什么x,y要加中括号且为什么要加0及其中括号?
因为x和y并不一定就是一个整形数据,后面去[0]就是取第一个元素

三、第009讲:
你的修改方案中while循环结束后i的值为0,那么sum1 == i 的判断永远不会成立
另外,每一轮for循环结束,i的值不会受到内部的任何影响,也就是i为100结束后下一轮i的值为101,你可以在for循环的第一行加上 print(i) 试试
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-26 11:05:12 | 显示全部楼层    本楼为最佳答案   
一、第006讲:print(2**2**32)会内存不够用,但为什么print((2**2)**32)却可以呢?
结合性的问题,第一种情况会是2**(2**32)!这是2的多少次方啊! 后面是4的32次方,明显比第一个小的多

二、第007、008讲:早期的三元操作符(x < y and [x] or [y])[0],我不是很明白为什么x,y要加中括号且为什么要加0及其中括号?
因为x和y并不一定就是一个整形数据,后面去[0]就是取第一个元素

三、第009讲:
你的修改方案中while循环结束后i的值为0,那么sum1 == i 的判断永远不会成立
另外,每一轮for循环结束,i的值不会受到内部的任何影响,也就是i为100结束后下一轮i的值为101,你可以在for循环的第一行加上 print(i) 试试
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-26 19:53:20 | 显示全部楼层
sum = sum + (temp%10) ** 3
temp = temp // 10
这两句代码有点点不能理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-26 20:03:07 | 显示全部楼层
而且在i = 100时,第一轮循环运行后,i 会是等于0,sum1也是等于0, 为什么没有打印0啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-5 03:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表