Chapter 7 / 7과
User Input & While Loops / 사용자 입력과 while 루프
- The
input()
function prompts the user to enter a value.
input()
함수는 사용자에게 값을 입력하도록 요청합니다. - A
while
loop repeats a block of code as long as a condition isTrue
.
while
루프는 조건이True
인 한 코드 블록을 반복합니다.
7.1 User Input / 사용자 입력
- The
input()
function pauses the program and waits for the user to enter a value.
input()
함수는 프로그램을 일시 중지하고 사용자가 값을 입력할 때까지 기다립니다. - It takes one argument: the prompt, or instructions, that we want to display to the user.
하나의 인수를 사용합니다. 사용자에게 표시하려는 프롬프트 또는 지침입니다. - The
input()
function returns a string.
input()
함수는 문자열을 반환합니다.
# 7.1_user_input.py
name = input("What is your name? ")
print(f"Hello, {name}!")
- Add a space after the prompt.
프롬프트 뒤에 공백을 추가합니다. - If you need a long prompt, you can store it in a variable and pass the variable to the
input()
function.
긴 프롬프트가 필요한 경우 변수에 저장하고 변수를input()
함수에 전달할 수 있습니다.
# 7.1_user_input.py
prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name = input(prompt)
print(f"Hello, {name}!")
- If you need a number, first convert the input to an integer using the
int()
function.
숫자가 필요한 경우int()
함수를 사용하여 입력을 정수로 먼저 변환합니다.
# 7.1_user_input.py
age = input("How old are you? ")
age = int(age)
print(age >= 18)
- The modulo (
%
) operator divides one number by another number and returns the remainder.
모듈로(%) 연산자는 한 숫자를 다른 숫자로 나누고 나머지를 반환합니다. - This is useful for determining if a number is even or odd.
이는 숫자가 짝수인지 홀수인지 확인하는 데 유용합니다.
# 7.1_user_input.py
number = input("Enter a number, and I'll tell you if it's even or odd: ")
number = int(number)
if number % 2 == 0:
print(f"\nThe number {number} is even.")
else:
print(f"\nThe number {number} is odd.")
7.2 While Loops / while 루프
- A
while
loop repeats a block of code as long as a condition isTrue
.
while
루프는 조건이True
인 한 코드 블록을 반복합니다. - If there is no way for the condition to become
False
, the loop will run forever.
조건이False
가 되는 방법이 없으면 루프가 영원히 실행됩니다.
# 7.2_while_loops.py
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
- We can let the user decide when to stop a
while
loop by inputting aquit
value.
quit
값을 입력하여 사용자가while
루프를 중지할 수 있도록 할 수 있습니다.
# 7.2_while_loops.py
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
message = ""
while message != 'quit':
message = input(prompt)
print(message)
- We can also use a flag to determine when to stop a
while
loop.
플래그를 사용하여while
루프를 중지할 때를 결정할 수도 있습니다. - A flag is a variable that holds the status of a program.
플래그는 프로그램의 상태를 보유하는 변수입니다.
# 7.2_while_loops.py
prompt = "\nTell me something, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
active = True
while active:
message = input(prompt)
if message == 'quit':
active = False
else:
print(message)
break
and continue
Statements / break
및 continue
문
- Use
break
to immediately end awhile
loop.
break
를 사용하여while
루프를 즉시 종료합니다.
# 7.3_break_continue.py
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
while True:
city = input(prompt)
if city == 'quit':
break
else:
print(f"I'd love to go to {city.title()}!")
- Use
continue
to skip the rest of the loop and return to the beginning.
continue
를 사용하여 루프의 나머지 부분을 건너뛰고 처음으로 돌아갑니다.
# 7.3_break_continue.py
current_number = 0
while current_number < 10:
current_number += 1
if current_number % 2 == 0:
continue
print(current_number)
7.3 while
with Lists and Dictionaries / 리스트 및 사전과 함께 while
- To modify a list as you work through it, use a
while
loop.
while
루프를 사용하여 리스트를 수정합니다.
# 7.4_while_lists.py
unconfirmed_users = ['alice', 'brian', 'candace']
confirmed_users = []
while unconfirmed_users:
current_user = unconfirmed_users.pop()
print(f"Verifying user: {current_user.title()}")
confirmed_users.append(current_user)
print("\nThe following users have been confirmed:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())
- To remove all instances of a value from a list, use a
while
loop.
리스트에서 값을 모두 제거하려면while
루프를 사용합니다. - Recall that
remove()
only removes the first instance of a value.
remove()
는 값의 첫 번째 인스턴스만 제거한다는 것을 기억하십시오.
# 7.4_while_lists.py
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets) # ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
while 'cat' in pets:
pets.remove('cat')
print(pets) # ['dog', 'dog', 'goldfish', 'rabbit']
while
Loops in Dictionaries / 사전의 while
루프
- We can also gather user input and store it in a dictionary with a
while
loop.
while
루프를 사용하여 사용자 입력을 수집하고 사전에 저장할 수도 있습니다.
# 7.5_while_dictionaries.py
responses = {}
polling_active = True
while polling_active:
name = input("\nWhat 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("\n--- Poll Results ---")
for name, response in responses.items():
print(f"{name} would like to climb {response}.")