|
主题: 请教怎么做能使随机但不重复呢?
|
 jipanjia
职务:普通成员
等级:1
金币:0.0
发贴:43
|
#12002/3/17 3:01:44
我现在用 random () 来调用我的试题庫里的东东,但是去发现在所调的题有重复现像,不知道怎样写能避免这一点呢? 我用的是 wordlist:=ReadExtFile(FileLocation^"\\dicru\\wordsound--1\\wordlist.txt") x:=Random(2,2,1) --共六道题 y:=Random(0,2,1) z:=Random(0,2,1) datanumber:=x+y+z datalist:=GetLine(wordlist,datanumber) word:=GetLine(datalist,2,2,Tab) 这里面有什么地方不对吗? 请各位大侠帮助!
|
 困龙在天
职务:普通成员
等级:7
金币:10.0
发贴:2942
|
#22002/3/17 10:47:13
这个方法你参考一下: 1、在一个计算图标中输入以下内容 -- 设置范围
lower:= 1 -- 最小数
upper:= 200 -- 最大数
randomList := [] --随机数列表
tempList := [] -- 所有可能的数列表
counter := 0
-- 将所有可能数赋值给templist[]
repeat with i := lower to upper
counter := counter + 1
tempList[counter] := i
end repeat
-- 将tempList[]内容随机地赋值给randomList[]
repeat with i := 1 to counter
elementPos := Random( 1, ListCount( tempList ), 1)
elementValue := tempList[elementPos]
randomList[i] := elementValue
DeleteAtIndex(tempList, elementPos)
end repeat 2、在显示图标中输入"{randomList}"可以随机显示lower到upper间的数字
[url]http://sintian.chinaccd.net[/url]
|
 困龙在天
职务:普通成员
等级:7
金币:10.0
发贴:2942
|
#32002/3/17 10:48:16
这个方法你参考一下: 1、在一个计算图标中输入以下内容 -- 设置范围
lower:= 1 -- 最小数
upper:= 200 -- 最大数
randomList := [ ] --随机数列表
tempList := [ ] -- 所有可能的数列表
counter := 0
-- 将所有可能数赋值给templist[ ]
repeat with i := lower to upper
counter := counter + 1
tempList[counter] := i
end repeat
-- 将tempList[ ]内容随机地赋值给randomList[ ]
repeat with i := 1 to counter
elementPos := Random( 1, ListCount( tempList ), 1)
elementValue := tempList[elementPos]
randomList[i] := elementValue
DeleteAtIndex(tempList, elementPos)
end repeat 2、在显示图标中输入"{randomList}"可以随机显示lower到upper间的数字
[url]http://sintian.chinaccd.net[/url]
|
 5D荣誉斑竹
职务:普通成员
等级:3
金币:10.0
发贴:954
|
#42002/4/5 22:25:04
我这个办法可能比较笨,这是在我们浙江信息技术教育上发表的一篇文章,可以实现自动取题,自动积分的功能: 用一个判断图标,repeat域设为times,填你要取的题数或设一个untiltrue,直到一个变量响应为止,branch条件设为不重复。在每一个判断分支下挂一个群组图标,在里面作一个选择交互,设对错,对错都退出交互,进入下一个判断分支。 退出判断后进行统计: 用correctchoicesmatched这个变量写一个表达式进行统计!!!
真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。
|