アルファベット小文字3文字からなる文字列を2つ乱数により生成し,アルファベット順で文字列を並べてみましょう.
2 strings: hph, mkt Sorted: hph, mkt | 2 strings: yiq, xkw Sorted: xkw, yiq |
|
並べ替えなし | 並べ替えあり |
教科書 p.153 (旧版では p.151) の下の方にある chr 関数を使用すると,数値を文字に変換できます.
アルファベット大文字を10個ランダムに並べた文字列を作成し,以下のように表示するプログラムを作成しましょう.
JKHYYALFZA KHYYALFZAJ HYYALFZAJK YYALFZAJKH YALFZAJKHY ALFZAJKHYY LFZAJKHYYA FZAJKHYYAL ZAJKHYYALF AJKHYYALFZ |
反復処理のところでやった for 文で先頭の余白を出力する方法に加えて,文字列の積を使うもっと簡単な方法もあります.
教科書の List 6-4 を参考に,アルファベットの大文字か小文字のどちらかをランダムに20回繰り返すことを10回行い,それぞれ大文字の A と小文字の a が何回出てきたかを数えるプログラムを作成しましょう.
CpElctETWYyPyPmgVKKl A: 0, a: 0 COzlMaskwdkFBsKroMei A: 0, a: 1 VLWfikGfLXFGedwANCQV A: 1, a: 0 BjJOoSaNNLGMGnkTgufG A: 0, a: 1 iTYBShBGTWZFZKTcuJjN A: 0, a: 0 QokYiRDLDuApvSzASpxy A: 2, a: 0 aZnqLAkECUVjKzMbxlmK A: 1, a: 1 YEcSGRMCiPauQjftmIgB A: 0, a: 1 KYsKfQLjyxxxRZVclJon A: 0, a: 0 iFnePgMCbYMRPnLlTDYe A: 0, a: 0 |
アルファベットの小文字26文字で構成される文字列を作成します.次に,a から z までの文字をどれか2つランダムに発生させ,その範囲の文字列を抜き出した文字列を作り,表示するプログラムを作成しましょう.
Alphabets from l to s lmnopqrs |
アルファベットの小文字をランダムに50文字並べた文字列を作成します.次に a から z までの文字のどれか1つをランダムに発生させ,その文字を大文字に変更した文字列を作成して表示するプログラムを作成しましょう.
Letters: ptrkcfrdsjaxnobecuaufcfobpdbyrhibxeeeutcwkxrtybrad Key letter: y -> Y Letters: ptrkcfrdsjaxnobecuaufcfobpdbYrhibxeeeutcwkxrtYbrad |
教科書の例 6-2 を参考にします.
a から e までのアルファベット3文字がランダムに並んだ文字列を用意します.続いて,同じように3文字の文字列を発生させますが,最初の文字列と一致するものが出るまで続ける処理を行うプログラムを作成しましょう.
Initial string: ccbbad bab eae edb aee aec bda bdb bde edd aaa acb add bbe abe dac acb cec bde aea cde bdc dba dae ebb cae cec dcd bea bec acd bca daa dce dea aed eee daa eec ceb ead deb ddc eac adc caa acb bee acb cbb aae cdd dbd eae bda ecb eae ccb |
アルファベット大文字をランダムに40文字並べた文字列を作ります.続けて,アルファベットの大文字を1文字ランダムに発生させ,その文字が先ほどの文字列の何番目にあるかを答えるプログラムを作成しましょう.
SXMHSSDNMEGPJLWGDQQBBILSMRUSAVNDJGJHYFXT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 S X M H S S D N M E G P J L W G D Q Q B B I L S M R U S A V N D J G J H Y F X T A letter N appears at: 8 31 |
ターゲットとなる文字がなかった時には最後の行の順番を示す数値が表示されないままで構いません.