質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

920閲覧

python初歩「インプットした要素番号をもとに、配列から要素を足していくが、場合によって足す回数を変動させたい」

fukuyama

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/25 17:03

前提・実現したいこと

お世話になります。プログラミングの勉強を始めました。
始めたばかりで基本もまだまだといったところで、質問に不備等ございましたら申し訳ありません。
まずは色々と体験して覚えていきたいと考えています。ご教授よろしくお願いいたします。
<以下、本件内容>
・Pythonを利用中。
・配列から特定の数値(要素の番号で指定)を呼び出して合計を出したい。
・要素の番号をインプットすると、その分だけ合計し、答えを返す、という流れを考えている。
・イメージ的としては、レジステムのように、要素として入っている金額を合計するという形。

発生している問題・エラーメッセージ

・配列から要素を指定して、合計を出すまではOK。
・続いて要素の番号を3つインプットして、3つの合計を出すまでもOK。
・例えば3つ目までいらないときに、2つ目が入力終わった時点で合計を出したい。

該当のソースコード

<python>
nedan = [0,100,120,40,100,150,80,130,200,80]
goukei = 0
one = int(input("注文1"))
two = int(input("注文2"))
three = int(input("注文3"))
goukei = nedan[one]+nedan[two]+nedan[three]
print(goukei)

試したこと

・3番目の要素(注文3)のインプットで配列外の数値を入力してみた。→エラー
・毎回、次の入力があるか確認して、Yesの場合は要素番号の入力、Noの場合はそれまで入力した要素の合計を出す?
・if、ifel、whileを使う?

補足情報(FW/ツールのバージョンなど)

Google Colaboratoryを使っています。
大したことないものだと思います。本当に申し訳ございません。
いまいちよくわかっていないところが多く、今後も勉強します。何とぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

3回めの注文入力時にnedan配列外の数値を入力したら,注文1と2で合計を計算します

nedan = [0,100,120,40,100,150,80,130,200,80] one = int(input("注文1")) two = int(input("注文2")) three = int(input("注文3")) if 0 <= three < len(nedan): goukei = nedan[one]+nedan[two]+nedan[three] else: goukei = nedan[one]+nedan[two] print(goukei) # 注文回数が決まっていない場合 goukei = 0 while True: i = int(input("order: ")) if 0 <= i < len(nedan): goukei += nedan[i] else: break

投稿2021/09/25 18:31

編集2021/09/25 18:57
dark-eater-kei

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fukuyama

2021/09/25 18:51

回答ありがとうございます! 今回は3回でしたが、もし注文数がランダムの場合、例えば変数ten(注文10)ぐらいまで作っておいて、その都度ifelse文で分けるなどの方法になりますでしょうか。 レジ打ちのように、ランダムな注文数に対応するための方法などがあれば、さらにご教授いただけると助かります。 何卒よろしくお願いいたします。
fukuyama

2021/09/25 19:37

ありがとうございました!! いただいたコードをもとに、勉強させていただきます。お世話になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問