鱼C论坛

 找回密码
 立即注册
查看: 1786|回复: 7

[已解决]入门,009作业

[复制链接]
发表于 2017-8-16 23:48:39 | 显示全部楼层 |阅读模式

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

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

x
作业原贴:http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D398
第一题
for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp%10) ** 3  #不明的地方,题意是各个数字立方之和。这分明是余数的立方和
        temp //= 10     
    if sum == i:
        print(i)
第二题,完全没看懂。看来我逻辑的确薄弱
print('red\tyellow\tgreen')
for red in range(0, 4):#为什么红球是12分之4
    for yellow in range(0, 4):#已经懵逼
        for green in range(2, 7):#完全懵逼,为何是2开始
            if red + yellow + green == 8:
                # 注意,下边不是字符串拼接,因此不用“+”哦~
                print(red, '\t', yellow, '\t', green)
最佳答案
2017-8-17 11:23:06
sum = sum + (temp%10) ** 3  #不明的地方,题意是各个数字立方之和。这分明是余数的立方和
temp%10不就是计算出个位数吗temp //= 10就是将temp每次缩小10倍,那这样不就是将该数的每一位数拿出来计算3次方加到sum上,在纸上 写个例子 计算每一步循环 的值,你就明白了

第二题只是举出所有的例子,假设红球摸出0-3个时黄球可能是0-3时的所有情况
range(0, 4)是只取0-3 不取4 视频有提到 ,这里不懂只能说你没认真听
for green in range(2, 7):#完全懵逼,为何是2开始
因为红黄最多是6个,那么绿就只能2个了,所以绿色最小是2个,如果绿色不取2个或以上那么根本不够8个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-8-17 00:40:34 | 显示全部楼层
第二题 因为摸到红球和黄球都有四种可能分别是 0 , 1, 2, 3个
摸到绿球(蓝球)有6种可能分别是2,3,4,5,6个(红和黄都摸满,绿球也至少有2个)

第一题么while temp:
        sum = sum + (temp%10) ** 3  
        temp //= 10     
这个循环实现的是个十百位的立方和,余数是算出末位数,地板除是减位数。情况就是这样。

另:小白表示不看答案根本没思路 智商门槛确实高 共勉
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-17 11:23:06 | 显示全部楼层    本楼为最佳答案   
sum = sum + (temp%10) ** 3  #不明的地方,题意是各个数字立方之和。这分明是余数的立方和
temp%10不就是计算出个位数吗temp //= 10就是将temp每次缩小10倍,那这样不就是将该数的每一位数拿出来计算3次方加到sum上,在纸上 写个例子 计算每一步循环 的值,你就明白了

第二题只是举出所有的例子,假设红球摸出0-3个时黄球可能是0-3时的所有情况
range(0, 4)是只取0-3 不取4 视频有提到 ,这里不懂只能说你没认真听
for green in range(2, 7):#完全懵逼,为何是2开始
因为红黄最多是6个,那么绿就只能2个了,所以绿色最小是2个,如果绿色不取2个或以上那么根本不够8个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-17 15:12:13 | 显示全部楼层
本帖最后由 kidd_hlt 于 2017-8-17 15:15 编辑
lumber2388779 发表于 2017-8-17 11:23
sum = sum + (temp%10) ** 3  #不明的地方,题意是各个数字立方之和。这分明是余数的立方和
temp%10不就是 ...


日理万机,居然没认真听都出来了。明明是思路不一样。红球概率是4分之一!!!!。好吧我写错了,应该是12分之3。但这里解题是有多小中情况,感觉不智能。题一,还是不理解,才分百位,十位,个位。但为何个位要加上之前的个位的开方。忘了,while大于1永远正确,已解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-17 17:26:32 | 显示全部楼层
kidd_hlt 发表于 2017-8-17 15:12
日理万机,居然没认真听都出来了。明明是思路不一样。红球概率是4分之一!!!!。好吧我写错了,应该 ...

楼主题一理解了吗?我还没理解,
sum = sum + (temp%10) ** 3        #是指 sum = sum + 个位数的立方?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-17 17:35:42 | 显示全部楼层
jackwong 发表于 2017-8-17 17:26
楼主题一理解了吗?我还没理解,
sum = sum + (temp%10) ** 3        #是指 sum = sum + 个位数的立方?

while 循环,当大于0时执行。。。别急我知道你懂,sum:第一次执个位,temp//=10执行这个后,temp只有两位数,那么循环就执行,十位。如此类推
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-8-17 17:46:38 | 显示全部楼层
kidd_hlt 发表于 2017-8-17 17:35
while 循环,当大于0时执行。。。别急我知道你懂,sum:第一次执个位,temp//=10执行这个后,temp只有两位 ...

额 如果没讲明白 你可以提问
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-17 17:53:42 | 显示全部楼层
kidd_hlt 发表于 2017-8-17 17:35
while 循环,当大于0时执行。。。别急我知道你懂,sum:第一次执个位,temp//=10执行这个后,temp只有两位 ...

明白了,实际是依次从个十百位数开始的循环,谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 23:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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