ord 関数を使うことで文字列をアスキーコードへ変換することができます。
ord('a') # 97 ord('1') # 49
chr メソッドを使うことでアスキーコードを文字列へ変換することができます。
chr(97) # 'a' chr(49) # '1'
この問題では、a を 0、b を 1、c を 3、、、z を 25 というように、各英文字に対応した番号を割り当てることができれば、サイズが 26 である整数型のリストをカウンタとすることができます。
英小文字の a ~ z には連続したアスキーコードが割り当てられているので、ある文字のアスキーコードから 'a' のアスキーコードを引くと対応した番号が得られます。
たとえば、以下のようにして数えることができます:
num = ord(ch) - ord('a') # 文字 ch の番号 counter[num] += 1 # 文字 ch をカウント
プログラムにおける例外とは、実行時に発生するエラーのことです。例外が発生したとき、基本的には try-except 文を使って例外処理を行います。以下が try-except の構文になります:
try: 例外発生の可能性があるが実行したい処理 except エラー名: 例外発生時に行う処理
まず、try ブロックの処理が実行されます。例外が発生しなければ except ブロックはスキップされます。しかし、except 文で指定したエラー名と一致する例外が try ブロック内で発生した場合、except ブロックの処理が実行されます。
このように、try-except を用いることでエラー発生による処理の停止を防ぐことができます。
ファイルの終端を表す特殊な記号やデータをEOF (End Of File)と呼びます。 input メソッドで入力を EOFまで行うためには、try-except を用いて以下のように記述します:
while True: try: str = input() except EOFError: break
![]() |
オンラインジャッジではじめるC/C++プログラミング入門 (マイナビ)AIZU ONLINE JUDGE のコース問題を題材にした解説書です。各トピックごとに C/C++ 言語の基礎的な内容を学習し、Introduction to Programming の演習問題にチャレンジしていきます。内容は敷居の高いものではなく、プログラミング初学者が取り組む例題からスタートしています。 |