Lecture 강의

Undergrads 학부 Graduates 대학원 역학(Mech)/설계(Design)/FEM 인공지능(AI)/기계학습(ML)/IoT SAP/ETABS OpenSees/FeView/STKO 아바쿠스(Abaqus) 파이썬(Python)/매트랩(Matlab) 엑셀(Excel-VBA)/HTML 마이다스(MIDAS)

[Quiz 03] 2.1 연산자(콜론), 2.4 함수(help), 2.6 패키지(dot)

작성자 : kim2kie

(2023-03-04)

조회수 : 12772

[참조]
.관련 동영상
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!입니다.