제로 파운데이션으로 시작하여 Python (8) 학습-훌륭한 분기 및 루프 3

While 루프 문

문법

while 조건 :
루프 본문

무한 루프

종료되지 않는 루프, 무한 루프는 많은 CPU 시간을 차지하고 프로그램이 계속 유지되지만 일부 프로그래밍에서는 무한 루프가 서버 및 게임 개발과 같은 필수 기능입니다.

For 루프

파이썬의 for 루프는 자동으로 반복기의 다음 메소드를 호출 할 수 있으며 자동으로 stopinteraction 예외를 포착하고 루프를 종료합니다.

문법

for target in expression : # target은 각 반복의 변수이고, 표현식은 목록 또는 튜플
루프 본문입니다.
여기에 사진 설명 삽입
여기에 사진 설명 삽입

range () 함수

range ()는 BIF 함수이며, 지정된 정수에 대해 숫자 시퀀스 (반복 가능한 객체)를 생성 할 수 있으며 for 루프의 작은 파트너입니다.

문법

  • 범위 ([시작,] 중지 [, 단계 = 1])
  • 이 BIF에는 세 개의 매개 변수가 있으며 대괄호로 묶인 두 개는이 두 매개 변수가 선택 사항이지만 매개 변수는 정수 여야 함을 나타냅니다.
  • step = 1은 세 번째 매개 변수의 기본값이 1임을 의미합니다.
  • range () BIF의 기능은 시작 매개 변수 값에서 중지 매개 변수 값까지 일련의 숫자를 생성하는 것입니다.

하나의 매개 변수 범위 ()

여기에 사진 설명 삽입
명부()반복 가능한 객체를 목록 형태
여기에 사진 설명 삽입
표시하여 생성 된 숫자 시퀀스에는 종료 값
range ()가 아닌 시작 값만 포함 되고 for 루프가 엉망이됩니다.
여기에 사진 설명 삽입

두 매개 변수 범위 ()

여기에 사진 설명 삽입

세 개의 매개 변수가있는 Range ()

여기에 사진 설명 삽입

break 문

효과

전류 루프를 종료하고 루프 본체에서 뛰어 내립니다.

right = 'pdd好帅哦'
answer = input('请输入对pdd的描述:')
while 1:
    if answer == right:
        break
    answer = input('打错了哦,要输入正确才可以退出游戏哦:')
print('是的呢,帅是他的第一特征哦')
print('退下吧')

여기에 사진 설명 삽입

계속 진술

풍모

현재 사이클을 종료하고 다음 사이클을 시작합니다. 다음 사이클을 시작하기 전에 사이클 조건이 먼저 테스트됩니다. 사이클 조건이 True 인 경우에만 다음 사이클이 시작되고 그렇지 않으면 사이클이 종료됩니다.

for i in range(10):
    if i % 2 != 0:
        print(i)
        continue#如果i是奇数就不执行下面的语句了,再次从for循环开始
    i += 2
    print(i)#所以最后打印的结果是:0到9所有奇数,和偶数加2

여기에 사진 설명 삽입

직무

  1. 다음 루프는 "I Love FishC"를 몇 번이나 인쇄합니까?
for i in range(0, 10, 2):
    print('I Love FishC')

나는 5가 있기 때문에 5 번
여기에 사진 설명 삽입

  1. 다음 루프는 "I Love FishC"를 몇 번이나 인쇄합니까?
for i in 5:
    print('I Love FishC')

오류를보고합니다

  1. 휴식의 역할을 상기하고 루프에서 계속 하시겠습니까?
    break : 현재 루프를 종료하고, 루프 본문에서
    뛰어 내립니다. 계속 : 현재 루프에서 뛰어 내리고 다음 루프를 시작합니다.

  2. 목록에 대한 이해에 대해 이야기하십시오.
    목록은 반복 객체를 목록 형태로 하나씩 표시하는 것입니다.

  3. range (10)은 어떤 숫자를 생성합니까?
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9

  4. 다음 프로그램은 무엇을 시각적으로 인쇄합니까?

while True:
    while True:
        break
        print(1)
    print(2)
    break
print(3)

인쇄 2 및 3 break는 루프에서 나올 수만 있습니다.
6. 어떤 상황에서 루프를 항상 참으로 만들어야합니까?
while True :
루프 본문은
게임 구현에도 사용됩니다. 게임이 실행되는 동안에는 항상 사용자 입력을 받아야하므로 게임이 "온라인"상태인지 확인하려면 Always True를 사용하십시오. 운영 체제도 마찬가지입니다. 항상 대기 상태이고 운영 체제는 항상 참입니다.이주기를 메시지주기라고합니다. 또한 통신 서버의 많은 클라이언트 / 서버 시스템도이 원칙을 통해 작동합니다.
7. [코드 효율성 향상 방법 배우기] 다음 코드 효율성에 대해 어떻게 생각하십니까? 대폭 개선하는 방법이 있습니까 (여전히 while 사용)?

i = 0
string = 'ILoveFishC.com'
while i < len(string):
    print(i)
    i += 1

이 코드가 "비효율적"인 이유는 len () 함수가 루프 할 때마다 한 번씩 호출되어야하기 때문입니다. 개선 후 :

i = 0
string = 'ILoveFishC.com'
length = len(string)
while i < length:
    print(i)
    i += 1  

9. 사용자 암호를 확인하는 프로그램을 설계하십시오. 사용자는 세 번의 실수 만 할 수 있지만 사용자 입력에 "*"가 포함 된 경우에는 계산되지 않습니다. (글쎄요! 완벽한 코드를 작성하지 않았습니다. 거북이에서 복사했습니다.)

프로그램 데모는 그림에 나와 있습니다.
여기에 사진 설명 삽입

count = 3
password = 'FishC.com'

while count:
    passwd = input('请输入密码:')
    if passwd == password:
        print('密码正确,进入程序......')
        break
    elif '*' in passwd:
        print('密码中不能含有"*"号!您还有', count, '次机会!', end=' ')
        continue
    else:
        print('密码输入错误!您还有', count-1, '次机会!', end=' ')    
    count -= 1

여기에 사진 설명 삽입

  1. 100에서 999 사이의 모든 수선화 수를 찾는 프로그램을 작성하십시오.

    3 자리 숫자가 숫자의 입방체 합과 같으면이 숫자를 수선화 숫자라고합니다. 예 : 153 = 1 ^ 3 + 5 ^ 3 + 3 ^ 3, 따라서 153은 수선화의 수입니다.
    내 코드

for i in range(100,1000):
    a = int(i / 100)
    b = int((i - a * 100) / 10)
    c = i -(a * 100 + b * 10)
    if i == a ** 3 + b ** 3 + c ** 3:
        print(i)

여기에 사진 설명 삽입
작은 거북이 코드 :

for i in range(100, 1000):
    sum = 0
    temp = i
    while temp:
        sum = sum + (temp%10) ** 3
        temp //= 10         # 注意这里要使用地板除哦~
    if sum == i:
        print(i)
  1. 3 색 공 문제

빨간색 공 3 개, 노란색 공 3 개, 녹색 공 6 개를 포함하여 빨간색, 노란색, 파란색 공의 세 가지 색상이 있습니다. 먼저 상자에 12 개의 공을 섞어 8 개의 공을 뽑은 다음, 공의 다양한 색상 조합을 계산하도록 프로그래밍합니다.

for green in range(1,7):
    for red in range(0,4):
        for yellow in range(0,4):
            num = green + red + yellow
            if num == 8:
                print(green,red,yellow)

여기에 사진 설명 삽입

추천

출처blog.csdn.net/qq_44520665/article/details/112729151