/ 350
添加表情
遵守中华人民共和国的各项道德法规,承担因您的行为而导致的法律责任,
本站有权保留或删除有争议评论。 参与本评论即表明您已经阅读并接受上述条款。
全部评论 (共 4 条)
打卡Lv3
T308562dl 展开
老师,您好。
请问案例2中公式为=List.Generate(()=>[a=0,b=0,c=1],each [a]<=10,each [a=[a]+1,b=[b]+a,c=[c]*a])
第一轮计算时c=[c]*a=1*0=0,结果应该为0,为什么计算出来的却是1呢。
2025年02月17日 21:37
0 回复
mymcamel 展开
@ T308562dl 【总体逻辑】
1)步骤1:一参→二参→二参为true输出四参
2)步骤2:三参→二参→二参为true输出四参。后续重复本步骤,直到二参为false跳出循环
3)一参(初始值)只参与第一步

【迭代1】一参(初始值)=[a=0,b=0,c=1]。此时二参[a]<=4为true,从而四参=[a=0,b=0,c=1]
【迭代2】三参变为[a=1,b=1,c=1],此时二参[a]<=4为true,从而四参=[a=1,b=1,c=1]。这里的三参计算逻辑:a=[a]+1,即新a=旧a+1=0+1=1;b=[b]+a,即新b=旧b+新a=0+1=1,c=[c]*a,即新c=旧c * 新a=1*1=1
2025年02月23日 20:48
@TA
学习达人
T655281yb 展开
第二个案例为什么c是从1开始的呢,没有看明白
2023年02月02日 18:44
1 回复
mymcamel 展开
@ T655281yb 关于第2个案例,公式=List.Generate( ()=>[a=0,b=0,c=1] ,each [a]<=4 ,each [a=[a]+1 ,b=[b]+a ,c=[c]*a] ,each _ )。本质上b=累计求和,c=累计乘积。
若c的初始值为0,则后续的累计乘积结果都是0,所以此处c的初始值取1
2025年02月23日 20:50
@TA
学习达人
刘天亮 展开
List.Generate(初始值,条件,条件成立时执行,对成立结果执行)continue
2022年08月27日 07:27
2 回复
学习达人
M-g3m3rt3ge 展开
或者用转换函数生成10到90的列表,List.Transform({1..9},each _*10)
2022年06月02日 10:20
0 回复
Zs0320 展开
@ M-g3m3rt3ge 遍历函数构建倒序列表,则不行了
2024年08月04日 17:34
@TA
我的成功之路 更多
V
特惠充值
联系客服
APP下载
官方微信
返回顶部