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

Back


以下のように10から30までの正の整数を乱数により2個発生させ,小さい方の数から大きい方の数までを表示することを10回繰り返すプログラムを作成しましょう.

Student number: s246099

          10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 
------------------------------------------------------------------------
11 -- 16:    11 12 13 14 15 16 
11 -- 22:    11 12 13 14 15 16 17 18 19 20 21 22 
17 -- 27:                      17 18 19 20 21 22 23 24 25 26 27 
16 -- 25:                   16 17 18 19 20 21 22 23 24 25 
17 -- 18:                      17 18 
13 -- 28:          13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
10 -- 19: 10 11 12 13 14 15 16 17 18 19 
11 -- 25:    11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 
20 -- 25:                               20 21 22 23 24 25 
10 -- 29: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 

------------------------

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

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

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


解答例

# #############################
#
# プログラミング入門I 宿題 2025.12.1
# 学生番号:  s246099    
# 氏名:     松江 花子   
#
# #############################

import random

print('Student number: s246099')  
print()

print('          ', end = '')

for i in range(10, 31):
    print(i, end = ' ')
else:
    print()

print('-' * 72)

for _ in range(10):
    small = random.randint(10, 30)
    large = random.randint(10, 30)
    small, large = list(sorted([small, large]))
    print(f'{small} -- {large}: ', end = '')

    print('   ' * (small - 10), end = '')

    for j in range(small, large + 1):
        print(f'{j} ', end = '')
    else:
        print()

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


Back