Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでリスト内のすべての数値を乗算するプログラムの書き方

この記事では、Pythonを使ってリスト内のすべての数値を掛け合わせる(乗算する)方法を解説します。まず、ユーザーからの入力を受け取るためのリストを3つ作成し、ここでは「走査(トラバース)」という手法を利用します。

基本的な考え方はシンプルです。積を表す変数の初期値を 1 に設定し、リストの先頭から末尾まで要素を順にたどりながら、各数値をひとつずつ積に掛けていきます。すべての要素を処理し終えた時点で、変数にはリスト全体の積が格納されています。

実行例

入力: A=[5,6,3]
出力: 90
説明: 5×6×3

アルゴリズム

ステップ1: すべての数値をリスト(lst)に入力する。
ステップ2: リスト内のすべての値を掛け合わせるため、走査手法を使用する。
ステップ3: 変数 X=1 で初期化する。
ステップ4: for i in lst /* リストの先頭から末尾まで走査
       X=X*i   /* 要素をひとつずつ積に掛ける
ステップ5: X を表示する。

サンプルコード

# リスト内のすべての数値を乗算する関数
def mulallnum(lst):
    x = 1
    for i in lst:
        x = x * i
    return x

# ドライバーコード
A = list()
B = list()
C = list()
n1 = int(input("最初のリストのサイズを入力してください ::"))
n2 = int(input("2番目のリストのサイズを入力してください ::"))
n3 = int(input("3番目のリストのサイズを入力してください ::"))
print("最初のリストの要素を入力してください ::")
for i in range(int(n1)):
    k = int(input(""))
    A.append(k)
print("2番目のリストの要素を入力してください ::")
for j in range(int(n2)):
    k1 = int(input(""))
    B.append(k1)
print("3番目のリストの要素を入力してください ::")
for j in range(int(n3)):
    k1 = int(input(""))
    C.append(k1)
print("最初のリスト内のすべての数値の積 ::>", mulallnum(A))
print("2番目のリスト内のすべての数値の積 ::>", mulallnum(B))
print("3番目のリスト内のすべての数値の積 ::>", mulallnum(C))

ポイント: 関数 mulallnum() 内では、return x を for ループの外に記述します。ループの中に置いてしまうと、最初の要素を処理した時点で関数が終了してしまい、正しい結果が得られません。

実行結果

最初のリストのサイズを入力してください ::3
2番目のリストのサイズを入力してください ::4
3番目のリストのサイズを入力してください ::5
最初のリストの要素を入力してください ::
1
2
5
2番目のリストの要素を入力してください ::
3
2
4
5
3番目のリストの要素を入力してください ::
12
2
1
3
2
最初のリスト内のすべての数値の積 ::> 10
2番目のリスト内のすべての数値の積 ::> 120
3番目のリスト内のすべての数値の積 ::> 144

補足:math.prod() を使ったより簡単な方法

Python 3.8 以降では、標準ライブラリの math.prod() を使うことで、同じ処理を1行で実現できます。

import math

numbers = [5, 6, 3]
result = math.prod(numbers)
print(result)  # 出力: 90

自前でループを書く必要がなく、コードも読みやすくなるため、Python 3.8 以降の環境では math.prod() の活用をおすすめします。空のリストを渡した場合は 1 が返される点にも注意してください。

  1. 指定した範囲内のすべての素数を出力するPythonプログラム

    この記事では、以下の問題文に対する解決方法について学んでいきます。 問題文 ある区間が与えられたとき、その範囲内に含まれるすべての素数を求めて出力する必要があります。 ここでは、素数の基本的な定義に基づいた全探索(ブルートフォース)によるアプローチを紹介します。素数とは、「1とその数自身のみを約数として持ち、それ以外の数を約数に持たない自然数」のことです。 この定義に基づき、各数値が素数の条件を満たしているかどうかを判定し、条件が真(True)と評価されるたびに出力処理を行います。 それでは、実際の実装例を見ていきましょう。 実装例 start = 1 end = 37 for val in

  2. Pythonでリスト内の最小値を見つける方法を解説

    この記事では、リストの中から最小の数値を見つける方法について、具体的なサンプルコードとともに詳しく解説します。問題の概要問題: 数値のリストが与えられたとき、その中に含まれる最も小さい数値を画面に表示すること。この問題を解くアプローチは主に2つあります。ひとつは sort() メソッドを使ってリストを昇順に並べ替え、先頭の要素(インデックス0)を取得する方法。もうひとつは、Pythonに標準で用意されている組み込み関数 min() を使う方法です。それぞれ順番に見ていきましょう。方法1:sort()メソッドで並べ替えて最小値を取得するまずはリストを昇順にソートし、先頭の要素を取り出す方法です。