授業-ソフトウェア工学 > 2018年度 > 試験 > 第01回 学力確認試験 > 第01回 学力確認試験 問題02
授業-2018年度-ソフトウェア工学-第01回 学力確認試験 問題02
文字列を指定した桁数だけずらす(はみ出た分は反対側にいれる)関数shift_str( x, column )
問題 02: 文字列を指定した桁数だけずらす(はみ出た分は反対側にいれる)関数shift_str( x, column )
問題
文字列とリスト,データ入出力
2-1
文字列を指定した桁数だけずらす(はみ出た分は反対側にいれる)
関数shift_str( x, column )文字列を指定した桁数だけずらす(はみ出た分は反対側にいれる)
関数shift_str( x, column ) shift_str( x, column )を作ってください.エラー処理は省いて構いません.
この関数をつかって,入力された文字列を3桁右方向へずらせた
結果の文字列を表示してください.
関数
関数shift_str( x, column )
x
(str)
元の文字列
column
(int)
2進表現の桁数
返戻値
(str)
返戻値は変換後の文字列
メイン
# ==============================================================================
# ===== 【メイン・プログラム】 =================================================
# ------------------------------------------------------------------------------
# ----- データを入力する -------------------------------------------------------
data_str = input( " 文字列を入力してください >>> " )
# ------------------------------------------------------------------------------
# ----- 文字列を3桁だけずらせた文字列を表示する --------------------------------
print( shift_str( data_str, 3 ) )
# ==============================================================================
使い方
python shift_string.py 文字列を入力してください >>> abcdef defabc
解答例
[ edit]
★基本的な解 (1): この問題で,確認したい学力を持つことを示しています
a
文字(1文字だけの文字列)のリストとしてシフトの結果を作り,連結します
b
文字(1文字だけの文字列)のリストとしてシフトの結果を作り,連結するのにjoin()関数を使います
c
「はみ出た部分文字列」と「はみ出ない部分文字列」を抽出するのにスライスを使います
★高度な手法: 授業では扱っていない手法を使っています
d
「はみ出た部分文字列」と「はみ出ない部分文字列」を抽出するのに内包リスト表現を使います