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

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

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

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

Q&A

解決済

3回答

170閲覧

Python のwhile trueについて

babbleman

総合スコア107

Python

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

0グッド

0クリップ

投稿2018/10/26 12:05

pythonでエンドユーザーからの文字入力を待つ際に、よく
while true と書くのですがこれは一体どういうことなんでしょうか?
何がtrueで何がfalseであるとコンピュータは判断しているのでしょうか?
文法的な意味で知りたくなりました。よろしくお願いします。

それとこのサイトでベストアンサーを選ぶ際にコメントを残したいのですがそのやり方も教えてくれると嬉しいです。

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

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

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

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

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

LouiS0616

2018/10/26 12:22

すみません、質問の意図が良く分かりません。Trueが真値であることに何か理由が必要でしょうか?
tachikoma

2018/10/26 12:54

while True:...とbreakを組み合わせたコードを指しているんですかね。
guest

回答3

0

while true と書くのですがこれは一体どういうことなんでしょうか?
何がtrueで何がfalseであるとコンピュータは判断しているのでしょうか?

何が、ということもなく常に真として式が評価され、結果ループし続けます。
いわゆる無限ループを作為的に作るときの常道です。

エンドユーザーが入力した文字列が、プログラムの想定に沿っているときだけループを抜ける。
そのための判定処理がループの中に含まれているはずです。

投稿2018/10/26 13:38

morinatsu

総合スコア395

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

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

0

ベストアンサー

何がtrueで何がfalseであるとコンピュータは判断しているのでしょうか?

「コンピューター」は、プログラム言語の指示通りに動作しています。
「プログラム言語」は、プログラム言語の仕様通りにコンピューターに指示を出します。

「Python」がなにをtrue(真)として、なにをfalse(偽)とするかは、以下の仕様で決められています。

この仕様では、「なにを偽とするか」が書かれていて、それ以外は真としています。

  • 偽であると定義されている定数: NoneFalse
  • 数値型におけるゼロ: 0, 0.0, 0j, Decimal(0), Fraction(0, 1)
  • 空のシーケンスまたはコレクション: '', (), [], {}, set(), range(0)

これらを偽とする、と仕様を決めたのは「プログラム言語」の作者です。

まとめると、以下の様になります。

  • 値の真偽はプログラム言語の作者が決めたとおりに解釈されて、コンピューターはその指示に従っている

投稿2018/10/26 22:59

shimizukawa

総合スコア1847

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

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

0

Falseと、Noneと、数値のゼロと、いくつかの型の空の値が、偽で、それ以外が真です。

whileというのは、

Python

1while ここに書いた物が真である間: 2 これを繰り返す

ということなので、while True:と書くと、その後の文を永遠に繰り返すことになります。
永遠に繰り返すと終わらないプログラムになってしまうので、実際にはその繰り返しの中でif等で条件判断を行って、breakreturnで繰り返しを終えます。

投稿2018/10/26 12:47

編集2018/10/27 03:49
otn

総合スコア84533

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問