Backend/Python

Python 파이썬 조건문 for, while, 문자열 예제 풀이

Ayel 2023. 7. 2. 22:12

 

 

Exercise1

 

 

1. 1부터 100까지의 정수
2. 53부터 25까지의 정수
3. 31부터 60까지의 홀수
4. 30부터 60까지의 홀수

 

 

#1. 1부터 100까지의 정수

for i in range(1, 101):
    print(i)

#2. 53부터 25까지의 정수

for i in range(53,24, -1):
    print(i)

#3. 31부터 60까지의 홀수

for i in range(31, 61, 2):
    print(i)

#4. 30부터 60까지의 홀수

for i in range(31, 61, 2):
    print(i)

 

 


 

 

Exercise2

 

 

다음 조건을 보고 회원가입을 위한 프로그램 코드를 작성 하시오.

아이디는 반드시 10자리 이상패스워드는 반드시 8 ~ 16자리 사이
패스워드에 아이디가 포함되면 안됨
패스워드에는 다음의 특수 문자가 반드시 하나 이상 포함(~, !, @, #, $, %, ^, &, *, _, ?)

 

 

while True:
    id = input("아이디를 입력하세요 : ")

    idcheck = False
    if id.__len__()<10:
        print("아이디는 10자 이상이어야 합니다.")
    else:
        idcheck = True
        break

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

    if pw.__len__()<8 or pw.__len__()>16:
        print("비밀번호는 반드시 8~16자리 사이어야 합니다.")
    elif pw.find(id) !=-1:
        print("비밀번호에 아이디가 포함될 수 없습니다.")
    else:
        check = False

        for i in "~!@#$%^&*_?":
            if pw.find(i) !=-1:
                check = True
        if check:
            print("로그인이 완료되었습니다.")
            break
        else:
            print("비밀번호에는 [~!@#$%^&*_?] 특수문자 중 하나가 포함되어야 합니다.")

 

 

출력화면

 

 


 

 

Exercise3

 

 

다음 문자열 변수에서 공백을 제외한 문자의 수를 구하시오.
st = 'Python basic program language'

 

st = 'Python basic program language'

cnt = len(st.replace(" ", ""))

print("공백을 제외한 문자 수 : ", cnt)

 

 

출력화면

 

 


 

 

이중 for문

 

 

for i in range(3) :
    print("{}번째 외부for문 실행".format(i + 1))
    for j in range(3) :
        print("{}.내부for문 실행".format(j + 1))
    print("{}번째 외부for문 실행종료".format(i + 1))

 

 

출력화면

 

 


 

 

Exercise4

 

 

1 ~ 30 까지 출력

<출력 결과>
1   2    3    4    5
6   7    8    9    10
11  12  13  14  15
16  17  18  19  20
21  22  23  24  25
26  27  28  29  30

 

 

for i in range(1, 26, 5):
    print(i,end=" ")
    for j in range(i+1, i+5):
        print(j, end=" ")
    print("\n")

 

 

출력화면

 

 


 

 

Exercise5

 

 

타이머 만들기
사용자에게 분을 입력받아
해당하는 시간이 흐른 뒤 메세지가 출력되도록 코드 구현

(예상결과)
분 입력 : 3

3분 0초 남음
2분 59초 남음
...
0분 2초 남음
0분 1초 남음
0분 0초 남음

TIME OUT!

 

 

import time

min = int(input("분 입력 : "))

for s in range(min * 60 , -1 , -1):
    print("{:02}분 {:02}초 남음".format(s//60,s%60))
    time.sleep(1)
# system 함수 : cmd 창의 명령을 실행시켜주는 함수
# - pause : 콘솔 멈춤

print("TIME OUT!")

 

 

출력화면

 

 

+

os > cls 함수를 사용해 콘솔 출력 내용을 삭제해

현재의 분/초만 창에 띄울 수 있다

 

 

import time
import os

min = int(input("분 입력 : "))

os.system("cls")

for s in range(min * 60 , -1 , -1):
    print("{:02}분 {:02}초 남음".format(s//60,s%60))
    time.sleep(1)
    os.system("cls")
# system 함수 : cmd 창의 명령을 실행시켜주는 함수
# - pause : 콘솔 멈춤
# - cls : 콘솔 출력 내용 지우기

print("TIME OUT!")

 

 

출력화면

 

 


 

 

Exercise6

 

 

시리얼 넘버 생성

'a' ~ 'z', 'A' ~ 'Z', '0' ~ '9' 까지임의의 문자열을
16자리씩 총 10개를 생성하는 코드를 작성 하시오.

 

 

import random

for i in range(10):
    code=""
    for j in range(16):
        ran = int(random.random()*3)

        if ran==0:
            code += chr(random.randint(97, 122))
        if ran==1:
            code += chr(random.randint(65, 90))
        if ran==2:
            code += chr(random.randint(48, 57))
    print(code)

 

 

출력화면