python超初心者です(3時間目)。pythonで以下のようなランダ
python超初心者です(3時間目)。pythonで以下のようなランダム数列を生成させるにはどうしたらいいのでしょうか?
最終結果のイメージ(16進数8桁の数列x20行):
0 : c39a29eb
1 : b26cc9bb
2 : 4c494e47
...
19: 93c85836
以下のようにコードを組んでみたのですが、
> tmp = ws.join(list)
> TypeError: sequence item 0: expected string, int found
のようなエラーが出てしまいます。どうやら数字を連結しようとしてるのでダメなのかな?と思っています。
========================================
#! /usr/bin/python
import random
list = []
ws = ""
for i in range (20):
print i, ":",
for j in range(8):
list.append(random.randint(0,15))
tmp = ws.join(list)
print tmp
list = []
tmp = ""
========================================
※ printでは必ずスペースが入ってしまうので、それを嫌う場合配列に入れて、要素を連結させなくてはならない、とwebにあったので、その方向で試してみました。
※ また、ここではあくまでrandom を使用し、一文字(0,1,2,...E,F)づつ出力させたいと思っています。
なお、perlでは以下のように書くことができたのですが...
========================================
#! /usr/bin/perl
for($i=0; $i<20; $i++){
printf ("%-02s: ", $i);
for($j=0; $j<8; $j++){
printf("%x", int(rand(15)) );
}
print "\n";
}
========================================
※ んー第二言語としてpythonを学習してみていますが道のり険しそうです(やっぱrubyにしようか)...
宜しくお願い致します。
お礼
ありがとうございました