この記事は最終更新日から1年以上が経過しています。
最近Pythonって便利だなーと思っています。
社内の定例ミーティングで話す人の順番をランダムにするために適当に作ってみました。
python
import random list = ['Aさん','Bさん','Cさん','Dさん','Eさん','Fさん','Gさん','Hさん'] random.shuffle(list) for (i,s) in enumerate(list): print("{}: {}".format(i+1,s)) |
出力結果
1: Fさん 2: Hさん 3: Aさん 4: Cさん 5: Gさん 6: Bさん 7: Eさん 8: Dさん |
皆さんがお得意な言語だとどんな書きっぷりになるんでしょうか?
社内のナレッジサイトで募集したところ次のような回答がありましたので紹介させて頂きます。
CoffeeScript
coffee> list = ['Aさん','Bさん','Cさん','Dさん','Eさん','Fさん','Gさん','Hさん'] [ 'Aさん', 'Bさん', 'Cさん', 'Dさん', 'Eさん', 'Fさん', 'Gさん', 'Hさん' ] ------> goodShuffle = (arr) -> ....... i = undefined ....... j = undefined ....... temp = undefined ....... arr = arr.slice() ....... i = arr.length ....... if i == 0 ....... return arr ....... while --i ....... j = Math.floor(Math.random() * (i + 1)) ....... temp = arr[i] ....... arr[i] = arr[j] ....... arr[j] = temp ....... arr [Function] coffee> goodShuffle(list).forEach (i,idx)-> console.log idx + 1 + ": " + i 1: Dさん 2: Aさん 3: Hさん 4: Fさん 5: Gさん 6: Bさん 7: Cさん 8: Eさん undefined coffee> |
Linuxコマンド
$ echo A > user.txt $ echo B >> user.txt $ echo C >> user.txt ...(略)... $ sort -R user.txt | nl |
結果
1 A 2 H 3 B 4 C 5 E 6 D 7 G 8 F |
Ruby
list = ['Aさん','Bさん','Cさん','Dさん','Eさん','Fさん','Gさん','Hさん'] shuffled_list = list.shuffle shuffled_list.each_with_index {|name, i| puts "#{i + 1}: #{name}" } |
出力結果
1 A 2 H 3 B 4 C 5 E 6 D 7 G 8 F |
この記事を書いた人
最近書いた記事
- 2017.11.10CloudFrontで独自ドメインのSSL設定する方法
- 2017.09.28Pythonっぽい書き方で配列の中身をランダム表示 〜他の言語はどうなるか?〜
- 2017.03.15Slackの基本的な事を整理してみた
- 2017.03.03SquidとRoleと その2