Python 사용자 입력 및 while 순환 작업

함수 input()의 작업 원리


함수 input () 는 사용자가 텍스트를 입력할 때까지 프로그램의 실행을 멈추게 합니다.사용자의 입력을 가져오면 Python은 사용하기 편리하도록 변수에 저장합니다.

prompt="if you tell us who you are , we can personlize the message you see."
prompt+="
What is your first name?" name=input(prompt) print("
Hello, "+name+"!") if you tell us who you are , we can personlize the message you see. What is your first name?Eric Hello, Eric!
이 예는 여러 줄 문자열을 만드는 방식을 보여 준다.첫 번째 줄은 메시지의 앞부분을 변수prompt에 저장한다.두 번째 줄에서 연산자 + = 프롬프트에 저장된 문자열의 끝에 문자열을 추가합니다.

While 루프 소개


for 순환은 집합 중의 모든 요소에 대한 코드 블록에 사용되며,while 순환은 지정된 조건이 충족되지 않을 때까지 끊임없이 실행됩니다.

while 순환 사용하기


current_number=1
while current_number<=5:
    print(current_number)
    current_number+=1

1
2
3
4
5
첫 줄에서 우리는current_number를 1로 설정하여 1부터 수를 지정합니다.다음 while 순환은 이렇게 설정됩니다:current_number 가랑비 또는 5와 같으면 이 순환을 실행합니다.순환 중 코드 인쇄current_number 값,current_ 사용 중number+=1(current_number=current_number+1) 값을 1로 추가합니다.
조건만 충족되면 current_number <=5,python은 이 프로그램을 계속 실행합니다.
사용자가 종료할 시기를 선택하도록 설정
while 순환으로 프로그램이 사용자가 원할 때 끊임없이 실행될 수 있습니다.

prompt="
Tell me something,and I will repeat it back to you:" prompt+="
Enter 'quit' to end the program." message="" while message !='quit': message=input(prompt) if message !='quit': print(message) Tell me something,and I will repeat it back to you: Enter 'quit' to end the program.hi hi Tell me something,and I will repeat it back to you: Enter 'quit' to end the program.quit
우리는 힌트 메시지를 정의해서 사용자에게 두 가지 선택을 알려 주었다. 메시지를 입력하든지, 종료 값을 입력하든지.다음은 사용자가 입력한 값을 저장하는 변수인 메시지를 만들었습니다.변수 메시지의 초기 값을 빈 문자열 ""로 설정하여 Python이 while 코드 줄을 처음 실행할 때 검사할 수 있는 것이 있도록 합니다.Python이 while 문장을 처음 실행할 때 메시지의 값을quit와 비교해야 하지만 사용자가 입력하지 않았습니다.비교할 수 있는 것이 없으면 Python은 프로그램을 실행할 수 없습니다.이 문제를 해결하기 위해서, 우리는 변수 메시지에 초기 값을 지정해야 합니다.이 초기 값은 빈 문자열일 뿐이지만, Python이 순환while에 필요한 것을 실행할 수 있도록 요구에 부합합니다.순환이'quit'가 아니라면, 이 순환은 끊임없이 운행될 것이다.

로고 사용


이전 예시에서 우리는 프로그램이 지정된 조건을 만족시킬 때 특정한 임무를 수행하도록 했다.그러나 더욱 복잡한 프로그램에서 많은 다른 사건들이 프로그램의 운행을 멈추게 한다.이런 상황에서 어떻게 해야 하나요?
많은 조건이 충족되어야 계속 실행되는 프로그램에서 전체 프로그램이 활동 상태인지 판단하는 변수를 정의할 수 있습니다.이 변수는 프로그램의 교통 신호등을 충당하는 표지라고 불린다.프로그램을true로 표시할 때 계속 실행하고, 이벤트로 인해 표시된 값이 False로 표시될 때 프로그램을 멈추게 할 수 있습니다.이렇게 하면while 문장에서 하나의 조건인 로고의 현재 값이true인지 확인하고 모든 테스트를 다른 곳에 두어 프로그램을 더욱 간결하게 할 수 있다.

prompt="
Tell me something,and I will repeat it back to you:" prompt+="
Enter 'quit' to end the program." active=True while active: message=input(prompt) if message=='quit': active=False else: print(message) Tell me something,and I will repeat it back to you: Enter 'quit' to end the program.yes yes Tell me something,and I will repeat it back to you: Enter 'quit' to end the program.quit
프로그램이 활성화되도록 변수를true로 설정합니다.이렇게 하면 while 문장을 간소화할 수 있다. 왜냐하면 그 중에서 어떤 비교도 할 필요가 없기 때문이다. 관련 논리는 프로그램의 다른 부분에서 처리되기 때문이다.변수active가true이면 순환은 계속 이렇게 실행됩니다.
while 순환에서, 우리는 사용자가 입력한 후에if문장을 사용하여 변수 메시지의 값을 검사합니다.만약 사용자가'quit'를 입력한다면, 변수 active를 False 로 설정하면, while 순환이 더 이상 계속되지 않습니다.만약 사용자가 입력한 것이'quit'가 아니라면, 우리는 입력해서 메시지로 인쇄할 것이다.

브레이크를 사용하여 순환 종료


순환을 즉시 종료하고 순환 중 남은 코드를 실행하지 마십시오. 테스트 조건이 어떻든 간에break 문장을 사용하십시오.

prompt="
Tell me something,and I will repeat it back to you:" prompt+="
Enter 'quit' to end the program." while True: message=input(prompt) if message=='quit': break else: print(message)

순환에서continue 사용하기


순환의 시작으로 돌아가고 테스트 조건의 테스트 결과에 따라 순환을 계속 실행할지 여부를 결정하려면continue 문장을 사용하십시오. 브레이크 문장처럼 나머지 코드를 실행하지 않고 전체 순환을 종료하지 않습니다.

current_number=0
while current_number<10:
    current_number+=1
    if current_number %2==0:
        continue
    print(current_number)

1
3
5
7
9
우리는 우선current_number가 0으로 설정되었습니다. 10보다 작기 때문에Python은while 순환에 들어갑니다.순환에 들어가면 걸음걸이가 1로 올라가기 때문에current_number는 1입니다.다음, if 문장 검사current_number와 2의 구모 연산 결과.결과가 0이면continue 문장을 실행하여Python이 나머지 코드를 무시하고 순환의 시작을 되돌려줍니다.현재 숫자가 2로 정리되지 않으면 순환 중인 나머지 코드를 실행하고 Python은 이 숫자를 인쇄합니다.

목록 간에 요소 이동


새로 등록되었지만 검증되지 않은 사이트 사용자를 포함하는 목록이 있다면;이 사용자들을 검증한 후, 어떻게 그들을 다른 검증된 사용자 목록으로 이동합니까?하나의 방법은 while 순환을 사용하여 사용자를 검증하는 동시에 검증되지 않은 사용자 목록에서 추출하여 다른 검증된 사용자 목록에 추가하는 것이다.코드는 다음과 같을 수 있습니다.

#  , 
# 
unconfirmed_users=['alice','brian','candace']
confirmed_users=[]

# , 
# 
while unconfirmed_users:
    current_user=unconfirmed_users.pop()

    print("Verifying user: "+current_user.title())
    confirmed_users.append(current_user)

# 
print("
The following users have been confirmed:") for confirmed_user in confirmed_users: print(confirmed_user.title()) Verifying user: Candace Verifying user: Brian Verifying user: Alice The following users have been confirmed: Candace Brian Alice
먼저 Alice, Brain, Candace를 포함하는 검증되지 않은 사용자 목록을 만들었고, 검증할 사용자를 저장하는 빈 목록도 만들었습니다.목록 unconfirmed_users가 비어 있습니다.이 순환에서 함수 팝 () 은 매번 목록에서 unconfirmed_사용자 끝에 검증되지 않은 사용자를 삭제합니다.Candace가 목록에 있으므로 unconfirmed_users 끝에 이름이 먼저 삭제되고 변수current_에 저장됩니다사용자 및 목록에 추가confirmed_사용자 중.
사용자 인증 프로세스를 시뮬레이션하기 위해 인증 메시지를 인쇄하고 인증된 사용자 목록에 사용자를 추가합니다.인증되지 않은 사용자 목록이 짧아지고 인증된 사용자 목록이 길어집니다.검증되지 않은 목록이 비어 있으면 순환을 끝내고 검증된 목록을 인쇄합니다.

특정 값을 포함하는 모든 목록 요소 삭제


앞에서 우리는 remove () 를 사용하여 목록의 특정 요소를 삭제합니다. 이것은 삭제할 값이 목록에 한 번만 나타나기 때문입니다.목록에 특정 값을 포함하는 모든 요소를 삭제하려면 어떻게 해야 합니까?
만약 당신이 애완동물 목록을 가지고 있다면, 그 중에는 여러 개의 값이'cat'인 요소가 포함되어 있다.이 모든 요소를 삭제하려면 목록에'cat'값이 더 이상 포함되지 않을 때까지 while 순환을 계속 실행합니다.

pets=['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
    pets.remove('cat')
print(pets)

['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
['dog', 'dog', 'goldfish', 'rabbit']

사용자 입력을 사용하여 사전 채우기


while 순환을 사용하여 사용자가 임의의 수량의 정보를 입력하도록 알릴 수 있습니다.

responses={}
# , 
polling_active=True

while polling_active:
    # 
    name=input("
What is your name?") response=input("which mountain would you like to climb someday?") # responses[name]=response # repeat=input("Would you like to let another person respond?(yes/no)") if repeat=='no': polling_active=False # , print("
---Poll Results---") for name,response in responses.items(): print(name+" would like to climb "+response+".") What is your name?hi which mountain would you like to climb someday?ko Would you like to let another person respond?(yes/no)yes What is your name?ji which mountain would you like to climb someday?kp Would you like to let another person respond?(yes/no)no ---Poll Results--- hi would like to climb ko. ji would like to climb kp.
이 프로그램은 우선 빈 사전을 정의하고 조사를 계속할지 여부를 가리키는 표지판을 설치했다.폴링만_active는 True입니다. Python은while 순환 중인 코드를 실행합니다.
이 순환에서 사용자에게 사용자 이름을 입력하고 그 산을 오르는 것을 알려 줍니다.이 정보를 사전response에 저장한 다음 사용자 조사가 계속되는지 물어보십시오.사용자가 yes를 입력하면 프로그램은while 순환에 다시 들어갑니다.사용자가 no를 입력하면 로고polling_active는 False로 설정되고 while 순환은 종료됩니다.
보충:python 학습 노트-순환 퇴출의 몇 가지 방식
여기서 주로 논의하는 것은while 순환입니다. for 순환은 교체 대상을 통해 종료됩니다.
while 순환은 일반적으로 순환의 횟수를 모르기 때문에while 순환에 대해 몇 가지 응용 장면은 종료 조건 설정이 다르다.

1. 사용자가 종료할 시기를 선택하도록 하기: 종료 변수 정의


while 순환을 사용하여 프로그램이 사용자가 원할 때 계속 실행할 수 있도록 합니다. 그 중에서 종료 값을 정의합니다. 사용자가 입력한 것이 이것이 아니라면 프로그램이 계속 실행됩니다.
우리가 어렸을 때 게임을 하는 사람들은 자주 만났다. 인물이 죽을 때 인터페이스에서 다시 게임을 시작하거나 게임을 끝낸다. 게임을 끝내는 것은 우리가 설정한 퇴출치에 해당한다.
형식은 다음과 같습니다.

active = True 
while active:
    message = input()
    if message =="quit":
        active = False
    else:
        print(message)
1. active는 우리가 처음부터 정의한 while 트리거이다
2. 메시지 정의 사용자 입력 문자
3. quit는 종료 조건입니다. 사용자가 quit를 입력하면active는 속성을 변환하고 다음에 순환해서 종료합니다.

2. 브레이크로 종료: 어떤 조건이 명확하게 발생하면 종료할 때 사용


프로그램이 브레이크에 실행되면 뒤에 상관없이 순환을 종료합니다. (if-else 모듈이 아니라)
break는 주로 if-else 문장을 제어하는 데 사용되며, 어떤 코드가 실행되고, 어떤 코드가 실행되지 않는지 제어할 수 있습니다.

prompt = " ( 'quit' )"
while True:
    if city == 'quit':
        break
    else:
        print("i'd love to go to"+'city.title()')

3. 순환에서continue를 사용합니다. 순환에서 값을 건너뛰어야 할 때 사용합니다.


프로그램이 continue에 실행되면 이번 순환에서 바로 벗어나 다음 순환으로 들어갑니다.
예: 1부터 10까지, 홀수이면 출력, 짝수는 건너뛰기

chuzhi = 0
while chuzhi !=10:
    chuzhi += 1
    if chuzhi%2 ==0:
        continue
    else:
        print(chuzhi)
continue를 만났을 때 뒤에 있는else는 보지 않고 바로 다음 while로 들어갑니다.
이상의 개인적인 경험으로 여러분께 참고가 되었으면 좋겠습니다. 또한 많은 응원 부탁드립니다.

좋은 웹페이지 즐겨찾기