ホームページ バックエンド開発 Python チュートリアル Lao Qi から Python を学び、while を使ってループする

Lao Qi から Python を学び、while を使ってループする

Jun 16, 2016 am 08:41 AM
while サイクル

Python でもこの意味はありますが、異なる点は、「いつ...」という条件が範囲または時間間隔内で確立され、Python がこの時間間隔中に多くのことを実行できることです。それは次のようなシーンです:

年齢が 60 歳を超える場合:-------->年齢が 60 歳を超える場合
リタイア --------> 上記の条件を満たすアクションが実行されます
ドアを作成した場合、このドアが上記の条件を使用して制御され、開かれると想像してください。多くの人がこのドアの前を通り、年齢が 60 歳を超えていれば退職するとします (ドアが開き、人々が集まります)。外出できる)、次々とこのようなサイクルが続き、突然50歳の人が現れ、サイクルはここで停止します。つまり、この時点では条件を満たしていません。

これは while ループです。より本格的なプロセスを記述するには、以下の図を参照してください:

もう一度推測ゲームをプレイしてください

このチュートリアルには、読者と小さなゲームをするレッスンがあり、その際に私は 1 回か 2 回しか推測できなかったという問題に遭遇しました。プログラムは動作し続けないと思われます。

少し前、大学生の友人 (彼の名前はリー・ハン) が私にメールを送ってきて、彼が作ったゲームを見せてくれました。このゲームは、推測が当たるまで何度も数字を推測するものです。なんとも勉強好きな大学生です。

私は敬意を表して彼が書いたプログラムをここに記録します。ユニット生のリー・ハンさん、これが知的財産権を侵害していると思われる場合は、私に言ってください。すぐにコードを削除します。

コードをコピー コードは次のとおりです:

#!/usr/bin/env python
#coding:UTF-8

ランダムにインポート

i=0
一方私は
「*************************************」を印刷
num = input('0から9までの任意の数字を入力してください:') #Liはpython3を使用しています

xnum = ランダム.randint(0,9)

x = 3 - i

if num == xnum:
「Print」は幸運です、そうですよね! '
休憩
エリフ番号 > xnum:
Print '' 'N ははは、正解は %Sn、まだチャンスはあります! '' %(xnum,x)
エリフ番号
あなたは間違っていたと思いますnhaha、正しい答えはあなたがまだ%sの可能性を持っているということです! '' %(xnum,x)
「*************************************」を印刷

i += 1

このプログラムを使用して分析してみましょう。まず、while i

bool(i

上記のコードに基づいて、変更できるかどうか見てみましょう?

ユーザー エクスペリエンスをより楽しくするために、入力整数の範囲を 1 ~ 100 まで拡張するとよいでしょう。

コードをコピー コードは次のとおりです:

num_input = raw_input("1~100の整数を1つ入力してください:") #入力命令はLiとは異なるpython2.7を使用しています

プログラムは num_input 変数を使用して入力コンテンツを受け取ります。ただし、これを読んで眠りたい人は注意してください。長年のプログラミング経験から得た教訓を共有したいと思います。ユーザーの入力はすべて信頼できません。この文には深い意味がありますが、ここではあまり説明しません。これは、その後のプログラミングのキャリアで経験する必要があります。この目的のために、ユーザー入力が要件を満たしているかどうかを確認する必要があります。ユーザーは 1 から 100 までの整数を入力する必要があるため、次のテストを実行する必要があります。

入力が整数かどうか

整数の場合は 1 ~ 100 の範囲です。
これを行うには、次のようにします:

コードをコピー コードは次のとおりです:

num_input.isdigital() でない場合: #str.isdigital() は、文字列が純粋に数字で構成されているかどうかを判断するために使用されます
「整数を入力してください。」を印刷します
elif int(num_input)=100:
「数字は 1 から 100 までです。」を印刷します。
それ以外:
ここで pass を使用します。これは、上記の要件が満たされている場合、一時的に省略することを意味します。ここのステートメントは実行される必要があります

Li Hang のプログラムをもう一度見てください。このプログラムはループ本体で乱数を生成するため、ユーザーが入力するたびに新しい乱数に直面することになります。この数字当てゲームは難しすぎます。プログラムが数値を生成し、推測が当たるまでは常にこの数値になることを願っています。したがって、乱数を生成する命令はループの前に移動する必要があります。

コードをコピー コードは次のとおりです:

ランダムにインポート

数値 = ランダム.randint(1,100)

True の場合: #ユーザーが使用できる回数に制限はありません
...

Li 氏のプログラムを観察すると、もう 1 つ明確にしておきたい点があります。それは、条件式では、両側で同じ種類のデータを使用するのが最善であるということです。 : num>xnum 形式の条件式で、一方はプログラムによって生成された int 型データ、もう一方は input 関数を通じて取得された str 型データです。場合によっては機能するのですが、なぜですか?理解できますか?すべて数字になったらOKです。しかし、これは良くありません。

したがって、このアイデアに従って、この数字推測プログラムを書き直します。

コードをコピー コードは次のとおりです:

#!/usr/bin/env python
#coding:utf-8

ランダムにインポート

数値 = ランダム.randint(1,100)

推測 = 0

True の場合:

num_input = raw_input("1 ~ 100 の整数を 1 つ入力してください:")
推測 +=1

num_input.isdigital() でない場合:
print "整数を入力してください。"
elif int(num_input)=100:
print "数字は 1 から 100 までです。"
それ以外:
数値==int(num_input)の場合:
print "OK、あなたは大丈夫です。たった %d だけですので、成功しました。"%guess
休憩
elif 番号>int(num_input):
print "あなたの数字はもっと少ないです。"
elif 番号 print "あなたの数字は大きいです。"
その他:
print 「何か悪いことがあるので、仕事を休みます」

上記は参考用であり、読者はさらに改良できる可能性があります。

中断して続行

break は上の例ですでに出てきていますが、その意味はこの場所でループを中断し、ループ本体から飛び出すことです。次の簡単な例は、より明白です:

コードをコピー コードは次のとおりです:

#!/usr/bin/env python
#coding:utf-8

a = 8
一方:
a%2==0 の場合:
休憩
それ以外:
print "%d は奇数です"%a
a = 0
print "%d は偶数です"%a

a=8 の場合、ループ本体で Break を実行し、ファンタジーから飛び出し、最後の print ステートメントを実行して結果を取得します。

コードをコピー コードは次のとおりです:

8は偶数です

a=9 の場合、else で print を実行する必要があります。a=0 の場合、ループは 1 回実行され、再度中断され、結果は次のようになります。

コードをコピー コードは次のとおりです:

9は奇数です
0は偶数です

そして continue は、現在の位置 (つまり continue が配置されている位置) からループ本体の最終行の後ろにジャンプすることです (ループ本体の場合、最終行は実行されません)。 「どこにあるの?」の最初と最後を繋ぐような感じで。もちろん始まりました。

コードをコピー コードは次のとおりです:

#!/usr/bin/env python
#coding:utf-8

a = 9
一方:
a%2==0 の場合:
a -=1
continue #偶数の場合はループの先頭に戻ります
それ以外:
print "%d は奇数です"%a #奇数の場合は出力します
a -=1

実際、私はプログラミングでこれら 2 つをほとんど使用しません。私の頑固な考えは、ループの前に条件を完了するように努め、ループ内で飛び回らないようにすることです。可読性が低下するだけでなく、時々混乱することがあります。

コードをコピー コードは次のとおりです:

一方...その他

これら 2 つの組み合わせは if...else に似ています。もちろん、else が出現すると、それは while ループから外れることを意味します。

コードをコピー コードは次のとおりです:

#!/usr/bin/env python

カウント = 0

を数えながら 印刷枚数、「は 5 枚未満です」
カウント = カウント + 1
それ以外:
印刷枚数「5」以上です

実行結果:

コードをコピー コードは次のとおりです:

0 は 5 未満です
1 は 5 未満です
2 は 5 より小さい
3 は 5 より小さい
4 は 5 より小さい
5は5以上です
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語では、while(1)とwhile(0)の違いは何ですか? C言語では、while(1)とwhile(0)の違いは何ですか? Aug 31, 2023 am 10:45 AM

C 言語では、ループに渡された条件に基づいて動作するループを定義するために「while」キーワードが使用されることがわかっています。ここで、条件には true または false の 2 つの値を指定できるため、while ブロック内のコードは、条件が true の場合は繰り返し実行され、条件が false の場合は実行されません。さて、while ループにパラメータを渡すことで、while(1) と while(0) を区別できるようになります。while(1) は条件が常に true とみなされ、ブロック内のコードが繰り返し実行を開始するループであるためです。さらに、条件を true にするループに渡されるのは 1 ではないと言えますが、ゼロ以外の整数が while ループに渡された場合、それは true 条件とみなされます。

ラムダ式がループから抜け出す ラムダ式がループから抜け出す Feb 20, 2024 am 08:47 AM

ラムダ式がループから抜け出すには、特定のコード例が必要です。プログラミングにおいて、ループ構造は頻繁に使用される重要な構文です。ただし、特定の状況では、現在のループ反復を終了するだけでなく、ループ本体内で特定の条件が満たされたときにループ全体から抜け出したい場合があります。このとき、ラムダ式の特性は、ループから抜け出すという目標を達成するのに役立ちます。ラムダ式は匿名関数を宣言する方法であり、内部的に単純な関数ロジックを定義できます。通常の関数宣言とは異なり、

Go言語におけるループと再帰の比較研究 Go言語におけるループと再帰の比較研究 Jun 01, 2023 am 09:23 AM

注: この記事では、Go 言語の観点からループと再帰を比較します。プログラムを作成するとき、一連のデータや操作を繰り返し処理する必要がある状況に遭遇することがよくあります。これを実現するには、ループまたは再帰を使用する必要があります。ループと再帰はどちらも一般的に使用される処理方法ですが、実際のアプリケーションではそれぞれにメリットとデメリットがあるため、実際の状況を考慮してどちらの方法を使用するかを選択する必要があります。この記事では、Go 言語におけるループと再帰の比較研究を行います。 1. ループ ループとは、特定のコードを繰り返し実行する仕組みです。 Go言語には主に3つのタイプがあります

PHPは配列内のすべての値を返して配列を形成します PHPは配列内のすべての値を返して配列を形成します Mar 21, 2024 am 09:06 AM

この記事では、PHP が配列のすべての値を返して配列を形成する方法について詳しく説明します。非常に実用的であると編集者が考えたので、参考として共有します。この記事を読んで何かを得ることができれば幸いです。 array_values() 関数の使用 array_values() 関数は、配列内のすべての値の配列を返します。元の配列のキーは保持されません。 $array=["foo"=>"bar","baz"=>"qux"];$values=array_values($array);//$values は ["bar","qux"] になりますループを使用すると、配列のすべての値を手動で取得し、新しい値に追加できます。

Java Iterator と Iterable: エレガントなコードを書くためのステップ Java Iterator と Iterable: エレガントなコードを書くためのステップ Feb 19, 2024 pm 02:54 PM

Iterator インターフェイス Iterator インターフェイスは、コレクションを走査するために使用されるインターフェイスです。 hasNext()、next()、remove() などのいくつかのメソッドが提供されます。 hasNext() メソッドは、コレクション内に次の要素があるかどうかを示すブール値を返します。 next() メソッドは、コレクション内の次の要素を返し、それをコレクションから削除します。 Remove() メソッドは、コレクションから現在の要素を削除します。次のコード例は、Iterator インターフェイスを使用してコレクションを反復処理する方法を示しています。 Listnames=Arrays.asList("John","Mary","Bob");Iterator

Java 関数での再帰呼び出しの代替手段は何ですか? Java 関数での再帰呼び出しの代替手段は何ですか? May 05, 2024 am 10:42 AM

Java 関数における再帰呼び出しの反復による置き換え Java では、再帰はさまざまな問題を解決するために使用される強力なツールです。ただし、場合によっては、反復を使用する方が効率が高く、スタック オーバーフローが発生しにくいため、より良いオプションになる場合があります。反復の利点は次のとおりです。 再帰呼び出しごとに新しいスタック フレームを作成する必要がないため、より効率的です。スタック領域の使用量が制限されているため、スタック オーバーフローが発生する可能性は低くなります。再帰呼び出しの代替としての反復メソッド: Java には、再帰関数を反復関数に変換するメソッドがいくつかあります。 1. スタックを使用する スタックを使用するのが、再帰関数を反復関数に変換する最も簡単な方法です。スタックは、関数呼び出しスタックに似た、後入れ先出し (LIFO) データ構造です。パブリックインファ

ベクトル化を使用して Python のループを置き換える ベクトル化を使用して Python のループを置き換える Apr 14, 2023 pm 07:07 PM

すべてのプログラミング言語はループから切り離せません。したがって、デフォルトでは、繰り返し操作があるたびにループの実行を開始します。しかし、多数の反復 (数百万行/数十億行) を扱う場合、ループの使用は犯罪です。数時間動けなくなって、後でそれがうまくいかないことに気づくかもしれません。ここで、Python でのベクトル化の実装が非常に重要になります。ベクトル化とは何ですか?ベクトル化は、データ セットに対する (NumPy) 配列操作を実装するための手法です。バックグラウンドで、配列または系列のすべての要素に操作を一度に適用します (一度に 1 行を操作する「for」ループとは異なります)。次に、いくつかのユースケースを使用して、ベクトル化とは何かを説明します。数値の合計を求めます##ループを使用します importtimestart

PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 Aug 07, 2023 pm 01:33 PM

PHP ループのネスト エラーを処理し、対応するエラー メッセージを生成する方法 開発中、配列の走査やデータベース クエリ結果の処理など、繰り返しのタスクを処理するためにループ ステートメントを使用することがよくあります。ただし、ループのネストを使用すると、無限ループやネスト レベルが多すぎるなどのエラーが発生することがあり、この問題によりサーバーのパフォーマンスが低下したり、クラッシュする可能性があります。このようなエラーをより適切に処理し、対応するエラー メッセージを生成するために、この記事ではいくつかの一般的な処理方法を紹介し、対応するコード例を示します。 1. カウンターを使用して、

See all articles