プログラミング入門I 宿題 2025.01.06

Back


今回の演習問題 ii. をスライスを利用して2重の反復処理を使用しないで実現できるよう変更しましょう.解答例2をベースに内側の for 文を使用しないものにします.

NTCEBMZAGH
 TCEBMZAGHN
  CEBMZAGHNT
   EBMZAGHNTC
    BMZAGHNTCE
     MZAGHNTCEB
      ZAGHNTCEBM
       AGHNTCEBMZ
        GHNTCEBMZA
         HNTCEBMZAG

スライスを使用して,前半と後半の文字列を連結させます.剰余は使用しません.
なお,結果の出力では必ず最初の行に自分の学生番号を,最後にハイフンによるラインをつけること.無い場合には減点するので注意.これらは解答用紙にあらかじめ入っているものを自分のものに修正するだけでよいので,必ず行ってください.

解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がPythonのプログラムとなっていますので,実行してエラーの無いことを確認してから提出してください.

指定の解答用紙を使用していない,実行時にエラーが出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください.


解答例

# #############################
#
# プログラミング入門I 宿題 2025.1.6
# 学生番号:  s246099   # <-- 書き換える
# 氏名:     松江 花子   # <-- 書き換える
#
# #############################

import random

print('Student number: s246099')   # <-- 書き換える
print()   # <-- 消さない

st = ''
sp = ' '

for _ in range(10):
    st += chr(random.randint(65, 90))

for i in range(10):
    print(sp * i, end = '')

    print(st[i:10] + st[:i])

print('\n------------------------\n')


Back