Python基本ループの学習記録

高洛峰
リリース: 2017-03-21 09:46:27
オリジナル
1753 人が閲覧しました

1. whileループ

条件が真(true)の場合は同じ操作を繰り返し、条件が満たされない場合はループから飛び出す

whileループ条件:

ループ操作

(1) while ループの例

例: 王暁明の 5 科目のテスト得点を入力し、平均点を計算

i=1                                            # 初始化循环计数器i
sum=0                                          # 初始化总成绩变量
while i<=5:                                    # 从i为1开始到5,重复执行一共5次接受考试成绩、求和的操作
        print (&#39;请输入第%d门课程的考试成绩&#39;%i)    # 提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程,第2门课程……
        sum=sum+input()                        # 把用户输入的成绩赋值给sum,最后保存着5次成绩的和
        i=i+1                                  # 每次循环 i 都自增1,直到大于5跳出循环
avg=sum/(i-1)                                  # 当第五次执行完i=i+1时,i为6,跳出循环,计算出sum/(i-1)的值就是平均值,并赋值给avg
print (&#39;王晓明5门课程的平均成绩是%d&#39;%avg)          # 格式化输出avg的值,由于用了%d所以计算出的%avg的数值有小数也会省去,接收整数部分
ログイン後にコピー

(2) ネストされた while ループの例

外側のループが条件を満たした後、実行コードは内側のループの実行を開始し、内側のループが完全に実行され、外側のループの条件がまだ満たされている場合は、外側のループが再度実行され、外側のループが終了するまで同様に実行されます。

例: 5科目の生徒2人の得点を入力し、それぞれの平均点を計算する

j=1                                         # 定义外部循环计数器初始值
prompt=&#39;请输入学生姓名&#39;                       # 定义字符串变量,在用户输入时调用此变量可以减少敲汉字的麻烦
while j<=2:                                 # 定义外部循环为执行两次
    sum=0                                   # 定义成绩初始值,之所以定义在这里,是为了当第二个学生输入成绩时可以让sum初始化为0,重新接收新学生的成绩和
    i=1                                     # 定义内部循环计数器初始值
    name = raw_input(prompt)               # 接收用户输入的学生姓名,赋值给name变量
    while i<=5:                             # 定义内部函数循环5次,就是接收5门课程的成绩
        print (&#39;请输入第%d门的考试成绩: &#39;%i)   #提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程,第2门课程……
        sum= sum + input()                  # 接收用户输入的成绩,赋值给sum
        i+=1                                # i变量自增1,i变为2,继续执行循环,直到i等于6时,跳出循环
    avg=sum/(i-1)                           # 计算第一个学生的平均成绩 sum/(6-1),赋值给avg
    print name,&#39;的平均成绩是%d\n&#39;%avg         # 输出学生成绩平均值
    j=j+1                                   # 内部循环执行完毕后,外部循环计数器j自增1,变为2,再进行外部循环
print &#39;学生成绩输入完成!&#39;                     # 外部循环结束,提示输入完成!
ログイン後にコピー

2. forループ

(1) for文を使ってすべての要素を走査します。文字列内の要素を 1 つずつ文字列に出力し、リスト内の要素を 1 つずつ出力します。タプル内の要素、セット内の要素 (代入する際は要素の順序に注意してください)、辞書内のキー...

for letter in &#39;Python&#39;:
  print letter结果:P
y
t
h
o
n
ログイン後にコピー
fruits=[&#39;西瓜&#39;,&#39;水蜜桃&#39;,&#39;葡萄&#39;]
for fruit in fruits:
    print fruit

结果:
西瓜
水蜜桃
葡萄
ログイン後にコピー

(2) 同じ操作を繰り返します

range を使用します() 関数は数値のリストを作成します

値の範囲: 開始番号から終了番号の前まで

for i in range(0,5):  #依次把0到4保存在变量i中
    print &#39;Mr.Mangood最酷!&#39;

结果:
Mr.Mangood最酷!
Mr.Mangood最酷!
Mr.Mangood最酷!
Mr.Mangood最酷!
Mr.Mangood最酷!
ログイン後にコピー

王暁明の 3 つの試験のスコアを入力し、 Average

subjects=(&#39;linux系统&#39;,&#39;Mysql数据库&#39;,&#39;Python语言&#39;)  # 定义一个元组,三个元素代表三门课程
sum=0                                            # 定义变量num为初始化成绩分数
for i in subjects:                               # 把元组里的每一个元素依次赋值给i,一共有三次
    print &#39;请输入%s的考试成绩&#39;%i                   # 提示输入成绩,运用了格式化字符串功能,用i每次取得的元素名表达出成绩名字,%s的意思是字符串
    score = input()                              # 接收用户输入的成绩赋值给score
    sum += score                                 # 把成绩赋给sum,相当于sum = sum + score
avg= sum / len(subjects)                         # 跳出for循环后,计算平均值,这里用函数len()来计算变量subjects的长度,因为subjects定义为一个元组,因此长度即为元素个数3
print &#39;王晓明的平均成绩为%d&#39;%avg                    # 输出平均成绩

结果:
请输入linux系统的考试成绩
87
请输入Mysql数据库的考试成绩
78
请输入Python语言的考试成绩
90
王晓明的平均成绩为85
ログイン後にコピー

(3) ネストされた for ループ

2 人の生徒、Huang Xiaoming と Yang Ying を入力し、3 つのコースのそれぞれの平均スコアを計算します。

break

ステートメント: このループから抜け出します (1 つのレベルのみ)。ネストされたループ内のループが飛び出す)

Continue ステートメント: ループ本体の現在のラウンドの残りのステートメントをスキップし、ループ state

を再テストし、次のラウンドのループに入ります。たとえば、合計 5 つのループがあります。 4. ループ制御

総合的なケース

1. 要件分析

メニューを表示

(新しいユーザー ログイン

(E) ユーザー ログインの入力

(Q)uit

選択肢を入力してください:

注: に保存されている新しいログインとパスワードを受け取るには、文字 N を入力してください辞書

文字Eを入力し、ログイン名、パスワードを受け取り、検索し、ユーザー入力が正しいかどうかを照合します

文字Qを入力し、終了します

2.手順を実行します

(1) メニューを準備します

(2) 使用しますwhile文で料理を実装単一選択

-外側のループ

(3) while文で新しいログイン名を受け取る-内側のループ

(4) if文でメニューの判定と関連する操作を実行

3. コード

アーキテクチャ

4、特定のコード

student = (23&#39;黄晓鸣&#39;,&#39;杨影&#39;)                      #定义学生姓名的元组
subjects=(&#39;linux系统&#39;,&#39;Mysql数据库&#39;,&#39;Python语言&#39;)  #定义课程名字的元组
for j in student:                                #把j依次取两名学生的值进行两次循环
    sum=0                                        #初始化成绩的值
    print &#39;%s同学的考试成绩&#39;%j                     #打印出标题
    for i in subjects:                           #定义课程循环
        print &#39;请输入%s的考试成绩&#39;%i               #提示输入其中一名学生的考试成绩
        score = input()                          #接收考试成绩赋值给score
        if score<0 or score>100:                 #判断分数取值范围,做提醒
            print &#39;注意成绩大小&#39;    
        sum+=score                               #每次输入成绩后,sum值都累加
    avg= sum/len(subjects)                       #求出平均成绩
    print j,&#39;的平均成绩是%d\n&#39;%avg                 #打印平均成绩
print&#39;完成学生成绩录入工作&#39;                         #提示完成工作
ログイン後にコピー

以上がPython基本ループの学習記録の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート