如何使用用户输入的值来限制for循环中的条件?该程序的目的是让用户输入术语的数量、起始值和计数间隔。谢谢!
您的问题很容易通过咨询TIBasicDev来回答,特别是Input
, Prompt
和For(
的页面。Input
和Prompt
不言自明;它们作为从用户那里检索输入的两种方法。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),以此类推。