Баъзан, мо баъзе скриптҳоро барномарезӣ мекунем Bash …. ва ба мо лозим аст (бо ягон сабаб) тавлиди ягон рақами тасодуфӣ.
Барои ин, шумо метавонед тамоми барномаро барномарезӣ кунед (ё функсия ...) ҳа, аммо ... кунҷкобона, системаи мо инро аллакай иҷро кардааст 😀
Дар терминал, инҳоро нависед ва пахш кунед [Дохил шудан]:
ҳамовоз $ RANDOM
... як рақам пайдо мешавад, онҳо ҳамон корро такрор мекунанд ва рақами дигар пайдо мешавад ва ғайра 🙂
Он чӣ гуна аст, ба шумо рақами тасодуфиро (дилхоҳ) дар байни 0 ва 32768 нишон медиҳад (бутун, яъне бидуни вергул).
Агар ба шумо рақами тасодуфӣ лозим бошад, аммо дар байни 0 ва ... 100 бигӯед, шумо метавонед ин маҳдудиятро дар болои он гузоред 😀
ҳамовоз $ (($ RANDOM% 100))
Мисол, мисоли дигар ... агар шумо хоҳед, ки он адади байни 0 ва 29 бошад, чунин хоҳад буд:
ҳамовоз $ (($ RANDOM% 29))
Оё фаҳмида намешавад? 😀
Агар онҳо онро дар скрипти bash истифода баранд, барои иҷро кардани арзиши тавлидшуда (адади тасодуфӣ) ба тағирёбанда чунин хоҳад буд:
VARIABLE = "echo $ (($ RANDOM))"
Хуб, ин аст, ман дар бораи ту намедонам ... аммо медонам, ки ин барои ман ягон вақт муфид хоҳад буд хахаха.
Бо тавзеҳот ҷавоб диҳед
10 шарҳ, аз они шумо
Хуб, ман онро санҷида будам ва он танҳо рақами 4-рақама бармегардонад, чӣ гуна ман онро калонтар карда метавонам?
Маслиҳати хеле ҷолиб, ташаккур.
Рақами байни 0 ва 32768 бар мегардонад, ман рақамҳои калонтар гирифта натавонистам.
ва он метавонад exadecimals тавлид кунад ????
VARIABLE = "echo $ (($ RANDOM))"
Ин кор мекунад, аммо оптималӣ нест, аз сабаби оддӣ, ки RANDOM тағирёбанда аст ва шумо метавонед:
тағйирёбанда = $ RANDOM
ва ин аст! дар охири терминал акси садо надиҳед (ки шумо ҳамин тавр карда истодаед)
Бале, возеҳан ба ин ноил шудан мумкин аст ... танҳо фарқ дар он аст, ки баъдтар дидани рақаме, ки тағирёбанда гирифтааст (азбаски корбар тахминкунанда нест), бояд акси садо дод .... ва дар ниҳоят, он чизе, ки ман дар ин ҷо мекунам, ин танҳо ҳамовоз кардан аст (то корбар бубинад, ки чӣ рақам гирифта мешавад) аз аввал.
Оё ман худамро мефаҳмонам? 🙂
Усули дигари тавлиди рақами тасодуфӣ, ҳарчанд ин дафъа ин фармон чунин хоҳад буд:
санаи "+% N" | буридан -c 9
Ин ба мо санаи наносекундӣ бо 9 рақам медиҳад. Агар мо мехоҳем як рақам дошта бошед, пас шумо "буриш -c 9" гузоштед (рақами охир ҳамеша ҳамеша тасодуфӣ аст, зеро ин рақам хурдтарин аст). Агар мо 2 рақам мехоҳем, пас мо "бурида - с 8,9" гузоштем. Агар мо се рақамро мехоҳем, пас "бурида -c 7-9" (мо истифодаи дефисро оғоз мекунем).
Ягона чизи бади ин дар он аст, ки агар мо мехоҳем дар як муддати кӯтоҳ шумораи зиёди тасодуфиро ба даст орем, зеро ин рақами тасодуфӣ дар асоси сана бо вақти он мебошад. Яъне, агар мо бо фармон фармоиш диҳем, мебинем, ки:
$ for i in `seq 1 1 500`; санаи кор "+% N"; кардааст
...
...
...
308311367
310807595
313273093
315725181
318186139
320671403
323360117
325733353
328335462
330694870
333259893
335858999
338375622
340798446
...
...
...
Ман фикр мекунам ин дуруст аст? Албатта, рақамҳои чап дар як муддати кӯтоҳ бештар шабеҳанд ва онҳое, ки дар тарафи рост ҳастанд, бештар "тасодуфӣ" доранд.
ммм .... Ба ман писанд омад, ман скрипти хурд дорам, ки барои тавлиди рақамҳои тасодуфӣ ранг карда шудааст, ташаккур.
Ин хидмат мекунад .. ва бисёр ..
хусусан, агар шумо интерфейсро дар bash бо парол, амният ва ғайра ва ғайра барномарезӣ кунед haha.
Апроти аъло.
Салом!
Пеш аз ҳама, албатта, табрикот бо ин вебсайти аъло, ки дер боз пайравӣ мекунам.
Ва дуввум, ба ин вуруд ёддошти хурд ворид кунед:
Ҳангоми маҳдудкунӣ чунин анҷом дода мешавад:
ҳамовоз $ (($ RANDOM% 10))
Дар асл, он чизе, ки шумо ба тарҷумон фармоиш медиҳед, ин аст, ки шумораи тавлидшудаи шумо ҳамеша модули% (боқимондаи тақсимот) -и рақами баъдӣ мебошад, дар ин мисол, 10.
Ягон адади ба 10 тақсимшуда ҳеҷ гоҳ чизи бузургтар аз худи тақсимкунанда нахоҳад дод.
Масъала дар он аст, ки он низ рақами якхеларо нахоҳад дод, зеро тақсим ба 0 барои тарҷумон мантиқӣ нест.
Ин маънои онро дорад, ки echo $ (($ RANDOM% 10) байни 0 ва 9 натиҷа медиҳад, аммо ҳеҷ гоҳ 10.
Роҳи ҳалли ин ихтилофот он аст, ки якеро ба маҳдудияти худ илова намоед, то худи ҳамон адад ба доираи тасодуфӣ афтад.
ҳамовоз $ (($ RANDOM% 11))
Ин натиҷаҳо дар байни 0 ва 10 медиҳад.
Ташаккур.
Салом, ман танҳо чунин чизе месохтам, аммо ба мушкилот дучор шудам.
Ман мехоҳам 6 рақами гуногунро аз 00 то 45 созам, аммо онҳоро такрор накунам.
echo $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($) RANDOM% 46))
Мисол: 17 33 16 36 45 27