Python問題集を解いてみよう!!

【Python問題集】No.9 アルファベットをaから順にn個表示する

URLをコピーする
URLをコピーしました!
目次

問題

アルファベットをaから順にn個表示するプログラムを書いてください。

アルファベットは小文字のみを対象とします。

例えば、n=7の場合、「abcdefg」と表示させます。

nはプログラム実行時に入力するようにしてください。

入力が1〜26以外だった場合、「1〜26の整数を入力してください」と表示するようにしてください。

入力が1〜26の整数以外だった場合も、「1〜26の整数を入力してください」と表示するようにしてください。

本ブログは Colofulbox で運用しています

解答

解答を見る前に、一度ご自身で考え、コードを書いてみることをオススメします。

おすすめのPython参考書

解説

今回の問題では、

  • インデックスを指定して文字列から文字を抽出する
  • 文字列が整数かどうかを判定するisdigit()メソッド
  • Unicodeコードポイントを指定して文字を取得するchr()関数

の3点について見ていきます。

文字列からインデックスを指定して文字を抽出する

文字列はインデックスを指定して文字を抽出することができます。

sample_word = 'abcde'

print(sample_word[1])
print(sample_word[3])

上記の実行結果

b
d

スライスで範囲を指定して、抽出することもできます。

sample_word = 'abcde'

print(sample_word[1:4])

上記の実行結果

bcd

解答例1ではスライスを指定する方法を使用しています。

文字列が整数かどうかを判定するisdigit()メソッド

文字列型が持つメソッドに、その文字列が整数かどうかを判定するisdigit()があります。

isdigit()は文字列が0を含む正の整数の場合はTrue、整数ではない場合はFalseを返します。

全角の正の整数もTrue、負の整数はFalseになります。

print('2'.isdigit())
print('2'.isdigit())
print('abcde'.isdigit())
print('0'.isdigit())
print('-2'.isdigit())

上記の実行結果

True
True
False
True
False

解答例1、2ともに、入力された値のチェックにisdigit()メソッドを使用しています。

Unicodeコードポイントを指定して文字を取得するchr()関数

chr()関数はUnicodeを指定して文字を取得することができます。

print(chr(97))
print(chr(98))
print(chr(122))

上記の実行結果

a
b
z

Unicodeはaが97で、zまで連番になっています。

解答例2では連番になっていることを利用しています。

Unicodeはウィキペディアなどで確認できます。

chr()関数と逆に、文字からUnicodeを取得するord()関数もあります。

print(ord('a'))
print(ord('b'))
print(ord('z'))

上記の実行結果

97
98
122

Google Colaboratory

本記事に掲載しているコードは Google Colaboratory で動作を確認しています。

下記からアクセスして、ご自身のGoogleドライブにコピーしていただければ、すぐに実行できます。

環境構築の不要な Google が提供している Webサービスなので、Python を学習中の方にはオススメです。

おわりに

今回は指定された個数のアルファベットをaから順に表示する問題をお届けしました。

解くことはできたでしょうか?

本ブログでは、今後も具体的な問題・課題の解説記事を増やしていきたいと考えています。

解説して欲しい問題・課題がありましたら、ぜひ、お問い合わせフォームからご連絡ください。

以上です。

スポンサーリンク

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!

コメント

コメントする

目次
閉じる