: 콘솔을 통해 사용자로부터 정보를 받을 수 있다
→ input
함수를 통해 사용자 입력을 받는다!
👉 구조
input(파라미터)
# 파라미터 안에 문자열을 넣을 수도 있다
👉 예시
input("이름을 입력하세요: ")
실행하면
파라미터 내에 입력했던 문자열이 콘솔에 뜨고, 잠시 프로그램이 중단된다.
(사용자에게 입력을 받으려고!)
나는 최고
라는 원하는 값 입력 후 엔터 치면 프로그램이 종료된다.
👉 활용
name = input("이름을 입력하세요: ")
print(name)
위 프로그램을 실행하게 되면,
1) 콘솔에 '이름을 입력하세요: ' 등장
2) 사용자가 콘솔에 원하는 값 입력
3) 그 값이 input
("이름을 입력하세요: ") 자리에 리턴되어 변수 name에 지정
4) name print
결과
💢 주의
input
함수가 받는 사용자 입력은 항상 문자열이다!
x = input("숫자를 입력하세요: ")
print(x + 5)
결과
위 프로그램을 실행하고 콘솔에 숫자를 입력하게 되면 오류가 난다.
왜? 🤔 사용자가 입력한 숫자는 문자열이기 때문!
궁금하다면 여기를 눌러보세요!
해결하기 위해선 input의 리턴값을 정수형으로 변환시키기!
x = 👉int👈(input("숫자를 입력하세요: "))
print(x + 5)
결과
자-알 나온다
🚮 숫자 맞히기 게임 🚮
'''
😵 해야할 일
*번 남았습니다. -1씩 해줄 변수
input 리턴된 값(user_num)과 비교해줄 값(ran_num)을 비교할 (if)코드
if 코드에서 리턴된값과 비교해줄 값이 맞으면
print("축하합니다. i번만에 숫자를 맞히셨습니다")
'''
import random
ran_num = random.randint(1, 20) # 1과 20사이의 랜덤 정수를 ran_num에 넘김
i = 4
j = 1
if i > 0:
while i > 0: # i < 0으로 또 시간 허비
user_num = int(input(f"기회가 {i}번 남았습니다. 1-20 사이의 숫자를 맞혀보세요: "))
if user_num == ran_num:
print(f"축하합니다. {j}번만에 숫자를 맞히셨습니다")
break # 맞춰도 계속 기회가 땡번 남았읍니다 멘트나와서 브레이크 걸어줬다
elif user_num != ran_num:
if user_num > ran_num:
print("Down")
else:
print("Up")
i -= 1
j += 1
if i == 0:
print(f"아쉽습니다. 정답은 {ran_num}입니다.")
틀렸을 때 아쉽습니다 멘트가 나오기까지.... 얼마나 오래 걸렸는지... 모른다
모범답안과 다른 점...
1. 답안은 상수를 정의했고 나는 상수를 정의하지 않았음
2. while문 조건에 꼭 변수를 추가해서 쓰려고 한다(그런 형식을 자주 접해서 그런지 모르겠지만...)
꼭 변수를 추가하지 않아도 되는곳에 추가를 하고...
코드를 보기 힘들게 한다
노력해야겠다...