Python 기본 루프의 학습 기록

高洛峰
풀어 주다: 2017-03-21 09:46:27
원래의
1693명이 탐색했습니다.

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개 과목의 점수를 입력하고 각각의 평균점수를 계산

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 문 은 문자열의 문자를 하나씩 출력하고, 목록의 요소를 하나씩 출력하고, 튜플의 요소, 집합의 요소 등 모든 요소를 ​​순회할 수 있습니다(각 요소의 순서에 주의하세요). 값을 할당할 때), 사전 키는...

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가지 시험 점수를 입력하고 평균을 계산하세요

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 루프

황샤오밍, 양잉, 두 명의 동급생이 각각 3과목씩 수강하고 평균점수를 계산했습니다

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;                         #提示完成工作
로그인 후 복사

3. 루프 제어

루프 제어문루프의 일반적인 실행 순서를 변경할 수 있습니다

루프 제어문

break 문: 이 루프에서 빠져나옵니다(루프의 한 레이어만 중첩 루프에서 점프 아웃)

continue 문: 현재 루프 본문 라운드의 나머지 문을 건너뛰고 루프 상태 를 다시 테스트한 후 다음 라운드로 들어갑니다. 예를 들어 루프 횟수는 총 5번입니다. 계속이 4번 발생하면 실행이 계속되지 않고 바로 5번째 사이클 판단이 수행됩니다

4. 루프 제어 종합 사례

1. 요구 사항 분석

메뉴 보기

(N)ew 사용자 로그인

(E)사용자 로그인 입력

(Q)uit

선택 항목 입력:

참고: N을 입력하면 사전에 저장된 새로운 로그인 이름과 비밀번호를 받을 수 있습니다

E를 입력하고 로그인 이름과 비밀번호를 받아 검색하고 사용자 입력이 맞는지 일치

Q 입력 후 종료

2. 단계 실행

(1) 컴파일 메뉴

 (2) while 문을 사용하여 메뉴단일 선택-외부 루프

 (3) while 문을 사용하여 새 로그인 이름 받기-내부 루프

 (4) if 문을 사용하여 메뉴 판단 및 관련 작업 수행

3. 코드

아키텍처그림

Python 기본 루프의 학습 기록

4. 특정 코드

rree


위 내용은 Python 기본 루프의 학습 기록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!