用户:
Planet_Cube查看:126 回复:3 评论:42 创建时间:2022-05-03T11:42:43
请一定要点进来帮帮我,很急!!!
最近我在尝试编写一个Kitten程序,其中有一个递归函数,涉及对列表的遍历。
但由于Kitten不支持对列表的直接遍历,所以我们遍历列表时一般写成这个样子:
将变量(index)设置为0
重复执行(列表的长度)次:
将变量(index)的值增加(1)
将变量(i)的值设置为(列表)的第(index)项
从而完成对列表的遍历。
但是!
如果在一个递归函数中呢?
积木代码或许是这个样子:
定义函数func:
······ #多余代码省略
重复执行(列表的长度)次:
将变量(index)的值增加(1)
将变量(i)的值设置为(列表)的第(index)项
······
func()
······
但这样行不通!
因为在函数执行完毕将要回溯到上一层函数时,变量index并不会跟着回溯。
于是就会导致变量index一直增加直到超出列表长度,接着kitten就会无情地报错。
那么能不能直接在这个函数开头的位置把变量index设置为0呢?
也不行!
因为在这里我们想要的是变量index能够回溯到递归从上一层次进入到这一层次的值,而不是简单的归零。
而在Py的环境下,由于Py提供了直接遍历列表的方法,用for i in (列表)的方法就可以了。
此时我灵机一动,想到kitten似乎提供了海龟函数积木,于是我打算开始学习它。
但当我看到这些字是,我才发现我是个小鸡淋鬼
很不巧,我正希望把这个作品发布出去。
怎么办?
解决办法如下:
第一种方案:用技术喵的头发给kitten增加遍历列表的新功能(备选方案,因为几乎不可能)
第二种方案:请一个很厉害的人教教我,球球了~(大佬帮帮我!)
希望有江湖高手能指点一二,如果有人能够帮我答疑解惑,我将不胜感激
𝙲ℴ𝗌𝔦𝒹ₑ𝑟我选择:

注:列表l 第一个“0”的位置=100
点赞1
评论
执行过程: 列表l(字母) 第1项≠1 | 执行否则
返回(调用自身)| 函数再执行:列表l(字母) 第2项≠0(上面打错了) | 执行否则
进行调用自身直到 列表l(字母) 第l(参数)项=0
然后 返回(返回(返回(返回(返回(返回数值)))))。。。。。。。。。。。。。
输出(返回(...))
额,我的应用场景跟你的不太一样,有空的时候能跟我协作一下吗?
而且我的列表里面的内容是字符串
a。。。。。。。。。。我也不是太会用函数()
那直接 第x项=(字符)
哦······你似乎没有时间协作......
<()=()> 积木可以输入字符串
要不我把我积木发给你看看?
对了30%
随便
网址在这里https://shequ.codemao.cn/work/145044010
还是半成品,没有完成的
对于已经编写的积木有疑问的话可以问我
𝙲ℴ𝗌𝔦𝒹ₑ𝑟a海龟积木是k3的,k4见不到了
点赞0
评论
捕捉
反捉你!
反弹))
↑-
你这涨赞的速度可以啊
a不行不行
最近‘赶’大作
没出作品
音乐社区刚康了康,这UI绝了
回头我帮你肝发帖,我在我的作品中研究出来了
屑黑帽忙着做自己的,都不过来帮忙
不过我得看看代码质量
我可不想面对bug坐一天)
小包就来过一次,苏星也就摸鱼()
我就差个帖子数量的克隆,其他都莫问题(我在我作品里做了个APPstore的功能,有一个评价(类似
画笔不好吗
是角色克隆……
。。。。。。。。一页只有几个帖子
514个不够?
其实判断也很简单,就是贴数>4时克隆4次,<4时克隆剩余贴数(话说在打字的过程中我似乎想到了一点灵感
是大于号和小于号,好像显示不出来?
如果最上面的克隆体y>=设定,移到最下面|显示帖子+1,克隆体打印列表(帖子列表第显示帖子到显示帖子+5)
打印没问题,不过其实好像不需要一直克隆
没错
换个帖子说