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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

415閲覧

whileとif breakを使ったコードを書いたが、何も表示されない。

gunmed

総合スコア55

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/02/03 03:16

whileの練習で
ランダムにズンとドコをzundokoに加えていき、ズンズンズンズンドコという文字列ができたらマ・サ・ル!を最後尾に加え表示するというコードを書こうと思ったのですが、以下のコードを作っても、何も表示されません。
while select_either:としたのは、whileはFalse 、 None 、 0 、 空文字など以外の条件の場合は継続すると考え、ズンズンズンズンドコがでるまで加えてくれると考えました。
ご教授よろしくお願いします。

import random select_either = random.choice(['ズン', 'ドコ']) zundoko = '' # 以下に処理を記述します while select_either: zundoko += select_either if 'ズンズンズンズンドコ' in zundoko: break print(zundoko + 'マ・サ・ル!')
python3 /Users/macname/Documents/samples/3step/10004/a.py

mac 10.14.1
visual studio code

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python

1select_either = random.choice(['ズン', 'ドコ'])

をwhileの先頭に移動させてください。
random.choice(['ズン', 'ドコ'])
が一回しか実行されてないので、
zundoko
の中にはズンかドコのどちらかしか追加されていないと思います。
また、whileは普通にTureでいいと思います。

最終的にはこのようになると思います。

Python

1import random 2 3zundoko = '' 4 5while True: 6 select_either = random.choice(['ズン', 'ドコ']) 7 zundoko += select_either 8 if 'ズンズンズンドコ' in zundoko: 9 break 10 11if __name__ == '__main__': 12 print(zundoko + 'ア・キ・ラ!') 13

投稿2019/02/03 03:33

編集2019/02/03 09:30
shun-shobon

総合スコア50

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

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

gunmed

2019/02/03 04:46

回答ありがとうございます。 やってみたのですが、whileのselect_eitherが定義されてないと表示されてしまいます。
shun-shobon

2019/02/03 05:12

whileのところはTrueでいいと思いますよ。
gunmed

2019/02/03 09:20

すみません、今以下のようにやってみたのですが、 ``` import random zundoko = '' # 以下に処理を記述します while True: select_either = random.choice(['ズン', 'ドコ']) zundoko += select_either if 'ズンズンズンドコ' in zundoko: break print(zundoko + 'ア・キ・ラ!') ``` 同じ結果になってしまいました...。 どこか欠点がわかりますでしょうか?
shun-shobon

2019/02/03 09:27

うーん、今そのコードをコピペして私の環境で実行してみたんですが、普通に実行できてますね… コメントだとマークダウンが使えないので、私の回答を編集して私が実行したコードを書いておきますね。
gunmed

2019/02/03 09:54

もう一度やってみたらできました。私の環境の不具合でした。申し訳ありません。 お手数をおかけしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問