[Python/세션] 파이썬 라이브 코딩 - 1회차

📌 복습 겸 문제풀이 기록하기

 

 

문제1 - 인사와 글자수 분류

name = input().strip()
print(f"안녕하세요, {name}님!\n글자수: {len(name)}")

# len()과 if를 사용해 요구사항을 출력해 보세요
if len(name) >= 5:
    print('이름이 길어요')
else:
    print('이름이 짧아요')

 

문제2 - 짝수/홀수 +1 부터 N까지 합 🚨

n = int(input("정수를 입력하세요: ")

if n % 2 == 0:
    print("짝수")
else:
    print("홀수")

n_sum = 0
for i in range(1, n+1):
    n_sum += i
print("합:", n_sum)

‼️ 짝수/홀수 출력은 반복문 보다 위에 작성을 해야, 반복할 때마다 출력이 되지 않는다. 그리고 sum을 변수로 사용하지 않기!!

 

문제3 - 'python' 포함 여부(대소문자 무시) 🚨

text = input("문장을 입력하세요: )
lower_text = text.lower()

if 'python' in lower_text:
	print("있음")
else:
	print("없음")

‼️ isalpha(" ")는 문장에 알파벳이 있는지 확인하는 매서드이기 때문에 사용하면 안됨.

 

문제4 - 세 수 중 가장 큰 수

a, b, c = map(int, input("정수 3개를 입력하세요: ").split()

if a > b and a > c:
	print("가장큰수:", a)
elif b > c and b > a:
	print("가장큰수:", b)
else:
	print("가장큰수:", c)

💡 가장 큰 수를 a라 가정하고 max_value 변수에 저장하는 방법

a, b, c = map(int, input("정수 3개를 입력하세요: ").split()

max_value = a
if b > max_value:
	max_value = b
if c > max_value:
	max_value = c
    
print("가장큰수:", max_value)

‼️ if 를 연달아서 사용할 수 있구나

 

문제5 - 문자 개수 세기 🚨

word = input("단어을 입력하세요: ")
ch = input("알파벳을 입력하세요: ")

count = 0
for w in word:
	if w == ch:
    	count += 1
print("개수:", count)

‼️ 입력: hello, l 이면 개수: 2 

 

문제6 - 구구단 한 단 출력

dan = int(input("숫자를 입력하세요: ")

for a in range(1, 10):
	print(f'{dan} * {a} = {dan*a}')

🔍 구구단 한 단만 출력하는 것이므로, 반복만 한 개만 사용해서 원하는 dan * 1에서 9까지 곱한다! (n단까지 출력하려면 이중 반복문!)

 

문제7 - 비밀번호 간단 검사

pwd = input("비밀번호를 입력하세요: ")

for i in range(0, 9+1):
	if str(i) in pwd:
    	if len(pwd) >= 6:
        	print("통과")
        else:
        	print("실패")

💡 비밀번호에 숫자 포함 여부를 False 으로 설정하고 푸는 방법

pwd = input().strip()
has_digit = False
for ch in pwd:
    if '0' <= ch <= '9':
        has_digit = True

if len(pwd) >= 6 and has_digit:
    print('통과')
else:
    print('실패')

 

문제8 - 왼쪽 정렬 별 계단

n = int(input("정수를 입력하세요: ")

for i in range(1, n+1):
	print('*' * i)

 

문제9 - 공백 제거 후 길이

line = input("문장 입력: ")

new_line = line.replace(' ','')
new_line_len = lne(new_line)
print("길이:", new_line_len)

💡 반복문을 사용해서 공백이 아닌 것만 뽑아와서 합치는 방법

line = input("문장 입력: ")
result = ''     # 공백이 없는 문장을 넣을 빈 문자열

for ch in line:
	if ch != ' ':    # ch가 ' '(공백)이 아니면
    	result = result + ch      # result += ch
print(result)
print("길이:", len(result))

 

문제10 - 로그인 (1회)

ID_OK = 'admin'
PW_OK = '1234'
# 입력을 받아 조건에 따라 '성공' 또는 '실패'를 출력하세요
user_id = input("id 입력하세요: ").lower()
user_pw = input("비밀번호 입력하세요.: ")

if (ID_OK == user_id) and (PW_OK == user_pw):
    print("성공")
else:
    print("실패")

💡 이중 반복문을 사용한 풀이

# 다른풀이
ID_OK = 'admin'
PW_OK = '1234'

id = input("ID를 입력하세요")
pw = input("비밀번호를 입력하세요")
if ID_OK == id.lower():            # id는 대소문자 무시
    if PW_OK == pw: 
        print("로그인 성공!")
    else:
        print("비밀번호가 틀렸습니다.")
else:
    print("존재하지 않는 계정입니다.")