【发布时间】:2019-10-22 21:50:30
【问题描述】:
我是 Ti-basic 的新手,我正在尝试编写代码。我正在尝试制作这种“特殊类型的输入”程序。它有点像输入,但它会在按下时显示单词(并且不需要输入字母)
这是到目前为止我认为与错误有关的代码
:{41,42,43,51,52,53,54,55,61,62,63,64,65,71,72,73,74,75,81,82,83,84,85,91,92,93,94,102,103,103}→∟KEYS
:"ABCDEFGHIJKLMNOPQRSTUVWXYZθ :?"→Str7
:0→K
:""→Str1
:
:Repeat K=105
:getKey→K
:If max(∟KEYS-K)
:prgmFINDIND
:.........
:End
在prgmFINDIND里面,这是代码
:1+sum(not(cumSum(∟KEYS=K)))→I
://I is used later on in the code. It isn't pertaining to the problem.
我已经对此进行了一些暂停测试,我发现问题出在 if 语句中。它返回一个“INVALID DIM”错误。
有人知道怎么回事吗?
【问题讨论】:
-
它可以在我的计算器上运行(顺便说一句,您可以使用
If max(not(∟KEYS-K来测试密钥是否在列表中),省略的部分中是否有一些相关代码? -
省略部分的内容只是获取∟KEYS中的索引K(因此名称为'FINDIND'(查找索引))。它将它存储到“我”,除此之外它什么也不做。我真的不认为它会影响它。不过我会尝试使用你的代码。
-
希望非破坏性地删除 ∟KEYS 或将其长度设置为零的任何内容都是一个问题。一方面,我不希望该代码删除列表,但另一方面,您收到错误表明该列表已被删除
-
我还以为发生了这样的事情。因此,我返回主屏幕并显示列表。 ∟KEYS 仍然显示 {41,42...}
-
这真的很神秘,如果在评估条件时列表存在,它应该可以工作。我也只是想到了
If max(∟KEYS=K,对于索引可能是max(seq(X,X,1,dim(∟KEYS))*(∟KEYS=K
标签: ti-basic