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

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

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

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

Q&A

解決済

5回答

565閲覧

ifやelifが難しい。

toza_program

総合スコア13

Python

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

0グッド

0クリップ

投稿2018/03/20 15:01

Pythonをはじめて数日なのですが、ifやelifの条件をコードするのが難しいです。
今は、PyQと言う有料サービスで、Pythonを勉強していますが

期待する実行結果が(random_stock=4のとき)
stock=15
random_stock=4
20本注文する

となるようにコードせよ。との課題が
模範解答を見ないとどうしていいかわかりません。

結局わからない物については模範解答をみなければ解決できないので見るのですが、それでは恐らく力はつかないと思います。
何かコツはありますか?

プログラミングとは発想力なのでしょうか? print()、変数、変数を利用した計算まで順調にきていましたが、
if文の基本で躓いています。この後にif文に第二条件を追加したりがあるようでクラクラします。

Pythonは簡単な文法と聞き、楽観視していた自分が悪いのですが、ちょっと凹んでいます。

自分は、AIや機械学習である業種の業務効率、労働環境を改善させる為にプログラミングをはじめたのに
なんてつまらないところで躓いているのかと嫌になります。

質問文の半分が愚痴になってしまい大変申し訳ありませんが、初心者にアドバイスをお願い致します。

ビッグデータを集め統計を取り分析をし・・・と将来の見通しはあるのですが
目の前の問題が改善できません。

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

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

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

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

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

guest

回答5

0

ベストアンサー

その段階で大切なのは、論理を言語化する能力です。
『どのようなときに、どんな処理をすれば良いのか?』
まずは日本語で問題を論理立てて解決できるようにしましょう。

明確に言語化出来るのであれば、プログラム言語の難易度はあまり影響しません。


なお、以下の問題文ですが... 明らかに情報不足です。

期待する実行結果が(random_stock=4のとき)

stock=15
random_stock=4
20本注文する

となるようにコードせよ。との課題

抜粋する際にも、何が本質的に必要な情報か振い出す能力が必要です。
問題自体への理解が足りていないのではないでしょうか?

投稿2018/03/20 15:10

編集2018/03/20 15:16
LouiS0616

総合スコア35660

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

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

toza_program

2018/03/24 23:50

ご回答いただきありがとうございます。 問題文が情報不足だと言うことすら気づいていませんでした。 皆さんのご回答を参照し、もう一度取組みなおします。
guest

0

どこから突っ込めばいいのやらという気もしますが、わからない時に模範解答を見てはいけないということだけ言っておきます。

問題が出された時には解決に必要な鍵は全てそろっているはずなので、模範解答ではなくそれまでの説明を読みましょう。if 文を学んでいるとしたら本当に初歩の初歩なので説明もさほどの量はないはずです。
応用問題ではなく基本問題なのでその説明の中に必ず答えそのものが書かれています。
もし書かれていないとしたらすぐさまそのサイトの利用はやめましょう。

模範解答を見るのはわからない時ではなく問題を解いた後の確認の時だけです。

投稿2018/03/20 15:47

Zuishin

総合スコア28660

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

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

Zuishin

2018/03/20 16:05

練習問題の機能は、自分がそれまでの説明のどこまで理解したかを計測することです。 練習問題を解くために説明を読むのではなく、説明を理解したかどうかを確かめるために問題を解くのです。 解けなかったということは理解が及んでいないということなので、後戻りしてください。 練習問題は効果的に働きました。 後戻りして理解ができたと思ったならもう一度問題を解いてください。 本当に理解していたなら解けるはずです。 解けなければ理解していないのでもう一度戻ってください。 おわかりですか? 模範解答を見てしまったらもうこのループは使えなくなります。 理解していようがしていまいが解けるのでメーターが壊れた状態で飛行機を操縦しているようなものです。 せっかくついている計器をすべて壊しながら進むのはもったいないことです。
toza_program

2018/03/24 23:53

なるほど、模範解答を見るとそのまま写す作業になってしまうからですよね。 ご回答の通り再考しています。
guest

0

過去にあった質問「練習問題が解けません。。」のベストアンサーさんの回答は参考になりませんか?

投稿2018/03/20 15:17

umyu

総合スコア5846

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

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

0

Pythonをはじめて数日なのですが、

プログラミングを始めて数日という意味ならば
単に経験不足ってことじゃないかなあ。

「それ」を使って「なに」ができるのか?
「それ」の書式はどのようなものか?
「それ」の定石はどのようなものがあるか?
など、(今は)まずはがむしゃらに吸収する時期だと思います。

だれでも体験したことがあるはずですが、
最初は雲をつかむようなことも、ある時を境に
突然理解が進むようになることがあります。
まあ、保証はできませんが自分の場合はそうだった
ってことで… :-)

投稿2018/03/21 00:46

takasima20

総合スコア7458

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

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

0

LouiS0616さんの回答にもありますが、
この問題文では誰でも模範解答を読まないと解けませんね…


if~elifのどの部分がわかりにくいのでしょうか?
条件がたくさんあるのが紛らわしいということでしょうか?

例えば、

もしパンがあれば、
それを食べればよい。
なければ、ケーキがあれば、
それを食べればよい。
それもなければ、
食べない。

ならば、コードに書くと、

if パンの数 != 0: パン食べる elif ケーキの数 != 0: ケーキ食べる else: 食べない

みたいになります。


複数の条件をうまく認識していますか?

python

1for i in range(10): 2 if i%3 == 0: 3 if i%5 == 0: 4 print(FizzBuzz) 5 else: 6 print(Fizz) 7 elif i%5 == 0: 8 if i%3 == 0: 9 print('This message should not be shown') 10 else: 11 print(Buzz) 12 else: 13 print(i)

OR

python

1for i in range(10): 2 if (i%3 == 0) and (i%5 == 0): 3 print(FizzBuzz) 4 elif i%3 == 0: 5 print(Fizz) 6 elif i%5 == 0: 7 print(Buzz) 8 else: 9 print(i)

投稿2018/03/20 15:53

mkgrei

総合スコア8560

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問