[Quiz 03] 2.1 연산자(콜론), 2.4 함수(help), 2.6 패키지(dot)
작성자 : kim2kie
(2023-03-04)
조회수 : 12774
[참조]
.관련 동영상
https://youtu.be/NjPbNlRcjM4
Q)
사이트 별로 비밀번호를 만들어주는 프로그램을 작성하라.
규칙1: 두 점(.)의 가운데 부분만 잘라서(슬라이싱) 사용. 예: https://www.naver.com → naver
규칙2: 남은 글자 중 처음 세 자리(예: nav) + 글자 갯수(예: 5) + 글자 내 'e'의 갯수(예: 1) + '!'로 구성
.생성된 비밀번호(예시):
http://www.naver.com → nav51!
http://www.daum.net → dau40!
http://www.google.com → goo61!
http://www.youtube.com → you71!
.출력 문장(형식):
OOO의 비밀번호는 OOO입니다.
.출력 문장(예시):
http://www.naver.com의 비밀번호는 nav51!입니다.
A) 해설
다음 문자열 처리 함수를 활용한다.
.string.index(sub[, start[, end]]) -> int
~string.index(substring, start, end)과 같은 의미
~help(string.index)를 사용하여 함수를 사용법을 확인
.string.count(sub[, start[, end]]) -> int
.콜론 연산자(:)
예시)
a = "안녕하세요. 반갑습니다."
print(a[0:4])
print(a[:])
print(a[:5])
--> a가 2차원 배열일 경우, a[:5]를 하면, 5행까지를 나타낸다.
즉, 행과 열 대신 모든 열을 포함한 5보다 작은 행을 의미한다.
print(a[6:])
C) 코드: "quiz-03.py"
# http://www.naver.com
# 01234567890123456789
url = "http://www.naver.com"
index_dot1 = url.index(".") # 10
index_dot2 = url.index(".", index_dot1 + 1) # 16
# 규칙 1 (11~15)
myStr = url[index_dot1+1:index_dot2]
# 규칙 2
password = myStr[:3] + str(len(myStr)) + str(myStr.count("e")) + "!"
# 문자열 안에 문자열을 출력할 경우, {}과 format을 사용
print("{0}의 비밀번호는 {1}입니다.".format(url, password))
Note)
url = "http://www.naver.com" 대신에,
url = input("url을 입력하시오: ")라고
input()함수를 사용하면 사용자가 자유롭게 문자열을 입력할 수 있다.
Q-Report)
당신의 학번은 202301234이다. 사이트 별로 비밀번호를 만들어주는 프로그램을 작성하라.
규칙1: 두 점(.)의 가운데 부분만 잘라서(슬라이싱) 사용. 예: https://www.naver.com → naver
규칙2: 남은 글자 중 처음 세 자리(예: nav) + 학번 끝 네자리(예: 1234) + '!'로 구성
.생성된 비밀번호(예시):
http://www.naver.com → nav1234!
http://www.daum.net → dau1234!
http://www.google.com → goo1234!
http://www.youtube.com → you1234!
.출력 문장(형식):
OOO의 비밀번호는 OOO입니다.
.출력 문장(예시):
http://www.naver.com의 비밀번호는 nav1234!입니다.