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

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

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

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

Q&A

2回答

912閲覧

DICT() 2階層のデータ取り出しなどにつきまして質問6個です。

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

0グッド

0クリップ

投稿2018/05/08 15:17

編集2022/01/12 10:55

お世話になります。

Python初心者の質問となり申し訳ありません。
以下のようにdictを利用したとします。

For文かwhileをうまく使いたいと思うのですが、以下プログラムについて実装できず大変困っています。

python #1:appleのpriceだけを取り出し変数に格納する時どのように描くか?

1enogu = {apple: {color: red}} 2purchase_item = enogu['apple'] 3purchase_item_color = purchase_item['color'] 4 5 #2:apple、orange、grape全てのpriceを取り出す時どのように描くか? 6price[0] = {apple: {price}} 7price[1] = {orenge: {price}} 8price[2] = {grape: {price}} 9 10 #3:appleの配下3つcolor、size、price3つだけを変数に格納する時どのように描くか? 11apple2 = {apple: {color}} 12apple2 = {apple: {size}} 13apple2 = {apple: {price}} 14 15 #4:もしappleだったらpriceを200、もしオレンジだったらprice500、もしgrapeだったら800に変更する 16if{apple: {price}} == 20017 {apple: {price}} =200 18if{orange: {price}} == 20019 {orange: {price}} =500 20if{grape: {price}} == 20021 {grape: {price}} =800 22 23 #5:もしappleのcolorのredと、grapeのpurpleが同じだったら、print("xxx")実施する 24if{apple: {color}} == red and if{grape: {color}} == purpe 25 print("xxx") 26 27 #6:もしappleのsizeに”sma”が含まれていて、grapeのsizeに"sma"が含まれていれば、print("xxx")実施する 28if{apple: {size}} == *sma* and if{grape: {size}} == **sma** 29 print("xxx")

なお高次の書く難しいプログロムでははなく、
なるべくわかりやすい形であれば大変うれしいです。

python

1import json 2 3fruit = { 4 "apple": { 5 "color": "red", 6 "size": "small", 7 "price": "100" 8 }, 9 "orange": { 10 "color": "orange", 11 "size": "middle", 12 "price": "200" 13 }, 14 "grape": { 15 "color": "purple", 16 "size": "big", 17 "price": "300" 18 }, 19}

お手数おかけしますが宜しくお願いします。

result = fruit.weight()
print(json.dumps(result, indent=True))

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

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

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

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

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

tachikoma

2018/05/09 01:00

まずは何か試してください。その時に考えたこと、書いたコード、出てきた結果もしくはエラーメッセージを追記してください。ここはコードを書くサービスを提供する場ではありません。
m.ts10806

2018/05/09 02:34

それぞれの要件についてまずは自分自身でやってみてください。また要件が多すぎると回答者の負担が大きくなり 回答がつかなくなります。もし質問をあげるなら個別にされた方が良いでしょう。
m.ts10806

2018/05/09 02:36

おおよそ難しくなるような内容ではないんじゃないかなと思います。どこまで分かっててどこが分からない?をはっきりしないと回答はつきません。
退会済みユーザー

退会済みユーザー

2018/05/09 03:51 編集

自分で考えたソースを書きました。
guest

回答2

0

かなり手厳しいマイナスがついていることに質問者さんは面食らっておられるかもしれません。例え初歩的であっても質問すること自体はOKです。しかし「ただコードを書いてくれ」は単なる「依頼」であり、本サイトのルール的にも(そして多分多くの閲覧者の気持ち的にも)いただけません。

本サイトで期待されているのは「アドバイスを望む質問」であり、「結果のコードを望む依頼」ではありません。

せめて「こういうふうに書いてみたけど、期待がこれこれに対して、こういう現象になってしまい躓いている。自分はここまでわかっているつもりだが、このあたりの理解が怪しい。どこがまずいかアドバイスがほしい」といった質問の仕方をしましょう。そのような質問が本サイトでの典型的Q&Aパターンだと思います。

ご参考:本サイトのヘルプページの中の「質問するときのヒント」
https://teratail.com/help/question-tips


もし「何をどう尋ねてよいかわからない」のでしたら「まず不明点を一点に絞って整理しそれだけを尋ねる」のを最初にやってみるとよいと思います。

例:入れ子になったdictの奥のデータを次のように取り出した

Python

1d = {a: {b: 1}} 2v1 = d['a'] 3v2 = v1['b']

しかし階層が深くなると行数が多くなる。もっと短く書けないだろうか?
云々・・・
(この質問例もかなり初歩的ですがまだ回答がつく可能性がある気がします。自分で実際に試したコードが貼ってあると閲覧者が何をアドバイスできそうか絞り易いからです。)

投稿2018/05/09 01:51

KSwordOfHaste

総合スコア18392

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

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

退会済みユーザー

退会済みユーザー

2018/05/09 03:50

ありがとうございました。低評価をつけさせていただきます。
Zuishin

2018/05/09 04:02

適切で親切なアドバイスなので高評価をつけさせていただきます。 貞子さんはテレビの中にお帰りいただいた方が快適かと。
KSwordOfHaste

2018/05/09 04:20

なるほど、こんなこともありますかw;
guest

0

回答1~6

投稿2018/05/09 03:36

YouheiSakurai

総合スコア6142

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

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

退会済みユーザー

退会済みユーザー

2018/05/09 03:40

ありがとうございました。大変助かりました。
m.ts10806

2018/05/09 04:09

これはいい頭の体操。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問