アルファベットの小文字をランダムに500文字発生させ,それを文字列にします.次に小文字2文字がランダムに並んだ文字列を作り,先ほどの文字列に含まれるか,どの位置にあるかを答えるプログラムを作成しましょう.
pmepfnmpwhiuwzuwgqltjdzddzdbuvfrbfilbvlmamvkjhdrvssxdnmrfwbojvodhverwq jqjpevjoezzedrxcrwqvjecomstlmpgkhovddnqighnframqylvpumzihxbyiwhfgjgrgu ykulbidifrhowxsmhgtmrfhtrpfoqwhdznltbvkvrzukojtggfqslhrxvgiaearjzvjxac hzdgmufonyciixrkpkgowzeojvfiyaiwfvgmdosqixhuqqdesbqlpuusnzwfvgzbihhzln utppkqwqkcgbuzsxsyvlvkosmyewkvvspptqvdxfaefviewzvopkhwuripddsshpcqlflp etidagdderxrboizlwyxmpbmkioljbksgtsdtkkvobdszpynzmrpdavcbvxhmujwhzpqlk qboufnrwuwzrvnyqfbcyzzgeqvoojekclwvilimksoffuhpuxtbvrxfseitnxrpypdtnbc lcejqiibez Target string: wy String 'wy' appears at 367. | 文字列が含まれる場合 |
hxtwtmfksciwkiuyfcfivrucfcjtbkqkkpvhgdjknhpgyzpktcocbzvdcbvgywluihlhcv yhgjqavaagsvwnacjdmajsbkwehvotiksydjbbtqtiovyccllasfotepcemxnsjepczkou vqiahmwzxjqycxpbudutqmjssaltyvheqwlrplougoqxidcwxyiklhuqsfvbhssbfslirq ixjhyvitzmvxjdvspopvacumouatixigrczpghzyhqtlngwmcbmdwyqibvygzcvbuynvpl dfabsgvqmdbrtjrvecxqpccluooobmutsomotcoavwjatyarmgmnafrfjtbuxxofuxvhjr xlltiqcreewhlvagtlmyvujxqhwvysowlkbcwtttbvakrlsbhniqeloytukvpnbqlfclxb gcuwkasqosxkwhuiuufmlldfegedtlnskarulfezqxhentrhigwojhtjioynnfzhlfokij bgegwksauy Target string: xr String 'xr' is not included. | 文字列が含まれない場合 |
解答例
前回1月15日の演習問題の iii. を count メソッドを用いて変更しましょう.
jlDjFOagsnWNtfjPgcgv A: 0, a: 1 CaFmQtPwgBlmlBXvixxP A: 0, a: 1 xYbOxdQyIaLxGJpMUItT A: 0, a: 1 ckCzQeEhpBRnJukmuRtH A: 0, a: 0 jjBfxDvjWkexodXGlkAJ A: 1, a: 0 CGbRSBiZZcpFFzAWhjpw A: 1, a: 0 pRyAYWyieZpijAEvrtXh A: 2, a: 0 NpdfmOTAEVGdBftGkQJb A: 1, a: 0 OYLMRYlQxykAcsYZRjyC A: 1, a: 0 IEWbLtUIenGkwicObmvQ A: 0, a: 0 |
教科書の List 6-14 のように検索する文字列を ptn のような変数にすることもありますし,教科書 p.14 の文字列リテラルを参考に引用符を工夫して行うこともできます.
解答例1
解答例2
アルファベットの大文字がランダムに10文字並んだ文字列を作成して表示し,次にアルファベット順に並べ変えた文字列にして表示するプログラムを作成しましょう.
Original: LOKCDGFZMO Sorted: CDFGKLMOOZ |
sorted 関数は教科書の p.72 にありますが,ソートした後はリストになってしまいます.それをもう一度文字列にするために join メソッドを使用します.
解答例
前問を改造して,3行目には逆順に表示したものを追加したプログラムを作成しましょう.
Original: RAERIRQRKV Sorted: AEIKQRRRRV Reversed: VRRRRQKIEA |
解答例
前回は特定の文字の入れ替えをスライスを用いて行いましたが,今度は replace メソッドを使って実現しましょう.アルファベット小文字をランダムに50文字発生させて文字列とし,ある小文字1文字をランダムに選んで,その文字を大文字に変換した文字列に変更します.upper メソッドも使用すると簡単です.
Original: knbgjavqbrfudegmrpopknbbevuhouemwavoxpfpngleolctgm Change g to G Replaced: knbGjavqbrfudeGmrpopknbbevuhouemwavoxpfpnGleolctGm |
解答例