例題(3)

[ edit ]

*


概要

[ edit ]

*


ポイント

この課題で使うPythonの機能 (学習のヒント)

[ edit ]

この例題における解法 (問題解決のヒント)

[ edit ]

  • この例題における解法 (問題解決のヒント) ....
    • 三角数は, n * (n-1) /2

(MathJax対応のブラウザでしたら,下記,数式がきれいに表示されます) $$ \frac{n \times (n-1)}{2} $$

*


実行例

[ edit ]

  • 実行例(1) ... クリックすると拡大します

fig-01

*


本質的な部分 (授業中に順次公開します)

[ edit ]

  • プログラムの本質的な部分は,下記の 2 行 と 5 行 の関数定義です.

  • 三角数: n × (n + 1) /2

def triangle_number( n ):
    return( int( n * (n + 1) / 2 ) )

def sum_of_one_to_n( n ):
    sum = 0
    for i in range( 1, n+1 ):
        sum += i
    return( sum )
*


高度な話題 (授業中,もしくは授業後に順次公開します)

[ edit ]

  • 高度な話題へのリンク: 授業の流れを阻害しないように別ページにします

    • (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).
      • λ式(ラムダ式)と高階関数reduce()に関するものです.


配布コード (授業中に順次公開します)

[ edit ]

  • 例題ファイルとしては,コメントを付け加えた,下記を配布します.
    • コメントはもう少し増えるかもしれません.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ==============================================================================
# * Copyright (c) 2018 IIJIMA, Tadashi
# *       (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
# ==============================================================================
# ソフトウェア工学[02] 例題[02]-(003a)  Ex_02_003a_triangle_number.py
# Ex(Example) 02-003a: 【関数定義】 n番目の三角数を求める関数を定義する. 
#                               n番目の三角数は,1からnまでの総和と等しい. 
#        2018-10-03 飯島 正 (iijima@ae.keio.ac.jp)
# ==============================================================================
# ===== 【関数定義】 n番目の三角数 =====
def triangle_number( n ):
    return( int( n * (n + 1) / 2 ) )
# ==============================================================================
# ===== 【関数定義】 1からnまでの総和 =====
def sum_of_one_to_n( n ):
    sum = 0
    for i in range( 1, n+1 ):
        sum += i
    return( sum )
# ==============================================================================
# ===== 【メイン・プログラム】 =====
# ----- オープニングメッセージ -----
print( "n番目の三角数を求めます(1~nの総和と比較します): " )

# ----- パラメータの入力 -----
n = int( input( "正の整数を入力してください>>> " ) );

# ----- 結果の表示 ----
print( "    ",    n, "番目の三角数は ", triangle_number( n ) )
print( "    1 ~", n, "までの総和は ",   sum_of_one_to_n( n ) )
# ==============================================================================
*
*

SoftEng: Python/Prog/Example/02/Ex_003a (last edited 2018-10-25 12:45:58 by TadashiIijima)