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

Back


11から19までの奇数のどれか一つを乱数により発生させます.次に1000以下の正の整数を先ほどの乱数の個数分発生させ,その最大値,最小値,そして平均値(小数第2位まで)を求めて表示するプログラムを作成しましょう.

Student number: s246099

15 random numbers: 100 995 268 17 681 230 877 144 513 593 644 827 744 738 937 

The maximum number:  995
The minimum number:   17
The mean:            553.87

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

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

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

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


解答例

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

import random

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

num = random.randrange(11, 19, 2)
print(f'{num} random numbers: ', end = '')

mx = 0
mn = 1001
sm = 0

for _ in range(num):
    n = random.randint(1, 1000)
    print(n, end = ' ')

    sm += n

    if mx < n:
        mx = n

    if mn > n:
        mn = n
else:
    print()
    print()

print(f'The maximum number: {mx:4}')
print(f'The minimum number: {mn:4}')
print(f'The mean: {sm / num:17.2f}')

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


Back