如何限制for循环中的项数



如何使用用户输入的值来限制for循环中的条件?该程序的目的是让用户输入术语的数量、起始值和计数间隔。谢谢!

您的问题很容易通过咨询TIBasicDev来回答,特别是Input, PromptFor(的页面。InputPrompt不言自明;它们作为从用户那里检索输入的两种方法。For(可以接受参数来显示您想要的行为。

Prompt

Prompt更小更脏。程序

Prompt A

将产生如下输出:

A=?

Input

Input是更大更干净的选项。该项目

Input "ENTER VALUE:",A

将导致以下输出

ENTER VALUE:

For

取自TIBasicDev:

For循环接受四个参数:变量(A-Z或θ)、起始值、结束值和增量。按指定的增量从起始值计数到结束值。

Format
:For(variable,start,end[,increment])
:Command(s)
:End


现在编写程序只需要使用输入命令来检索用户输入,然后使用for循环来创建所需的效果。

正如dohaqatar7所说,您可以使用基本的输入命令来实现您的目标。但是,还有一种(稍微高级一点的)方法允许用户一次输入所有的值,用逗号分隔。为此,您输入一个字符串,将其存储到内置字符串变量(如Str1)中,然后将其转换为数字列表,最后访问For(循环中参数列表的每个元素。

Input "START,END,STEP: ",Str1        //Whatever is input goes into Str1 as a string
                                     //For example, "1,100,2"
expr("{"+Str1                        //Then it is converted into a list like {1,100,2}
For(X,Ans(1),Ans(2),Ans(3)           //Evaluates to For(X,1,100,2
[your code]
End

expr(表示表达式,基本上告诉计算器对传递给它的字符串求值。但首先,{被附加到前面,因此计算器将其解释为一个列表,该列表存储在Ans变量中。列表中的各个元素以[listname] (position)的格式访问,因此Ans(1)将获取列表的第一个元素(在本例中为起始值1),以此类推。

最新更新