본문 바로가기
학부 자료/Python

[Python] 파이썬 기초 6/20, 조건문 반복문 2

by jackMK 2023. 11. 7.

<내용정리>

- 관련 파일

6일차_221125.py
0.00MB
python_test_06-2_조건문2_정답.py
0.00MB


- 본문

my_list = []
n = int(input('정수를 입력하세요(종료는 0입니다) : '))

while n!= 0:
    my_list.append(n)
    n = int(input('정수를 입력하세요(종료는 0입니다) : '))

print(my_list)

# while문의 중첩
day = 1
while day <= 5:
      hour = 1
      while hour <= 3:
          print('{}일차 {}교시입니다.'.format(day, hour))
          hour += 1
      day += 1

구구단(while)
dan = 2
while dan <= 9:
    print(f'----{dan}단----')
    n = 1
    while n <= 9:
        print(f'{dan} * {n} = {dan*n}')
        n += 1-
    print()
    dan += 1

## for
반복횟수가 정해져 있을 때 사용
<형식>
for 변수명 in 리스트명:
    반복할 코드

for 변수명 in range(횟수):
    반복할 코드

for 변수명 in range(시작값, 끝값+1):
    반복할 코드

for 변수명 in range(시작값, 끝값+1, 증감값):
    반복할 코드

for _ in range(횟수): # 반복할 변수를 생략 가능(횟수만 반복하고 싶을 때)
    반복할 코드

## 시퀀스와 for문
# 리스트와 for문
for n in [1, 2, 3]:
    print(n)
print()

string = ['가위', '바위', '보']
for item in string:
    print(item)
print()

#문자열과 for문
for ch in 'hello':
    print(ch)
print()

#튜플과 for문
four_seasons = ('Spring', 'Summer', 'Autumn', 'winter')
for season in four_seasons:
    print(season)
print()

pw = input('비밀번호를 입력하세요: ')
ccount = 0
ncount = 0

for ch in pw:           # 글자 개수만큼 반복
    if ch.isalpha():    # ch가 문자라면
        ccount += 1     # 문자 개수 변수를 1 증가시킨다
    elif ch.isnumeric():# ch가 숫자라면
        ncount += 1     # 숫자 개수 변수를 1 증가시킨다

if ccount > 0 and ncount > 0:
    print('가능한 비밀번호입니다')
else:
    print('불가능한 비밀번호입니다')

#range와 for문
for i in range(10): # 10번 반복, i변수의 초깃값 0
    print(f'{i}번째 문장입니다') #0~9
print()

for i in range(1, 11): # i변수의 초깃값은 1, 끝값 10
    print(f'{i}번째 문장입니다')
print()

for i in range(1, 11, 2): # 홀수만 출력, 증감값 2
    print(f'{i}번째 문장입니다')
print()

for i in range(10, 0, -1): # 10부터 1까지 1씩 감소
    print(f'{i}번째 문장입니다')
print()

for i in reversed(range(10)): # reversed함수 : 반대로(반전)
    print(f'{i}번째 문장입니다') # 9~0
print()

count = int(input('반복할 횟수를 입력하세요 : '))
for i in range(1, count+1):
    print(f'{i}번째 문장입니다')

for i in range(2, 101):
    if i%3 == 0 and i%5 == 0:
        print(f'{i}과: 3 5의 공배수')
    elif i%3 == 0:
        print(f'{i}: 3의 배수')
    elif i%5 == 0:
        print(f'{i}: 5의 배수')
    else:
        print(i)

# 구구단(for)
dan = int(input('입력할 구구단을 입력하세요 : '))
for n in range(1, 10):
    print(f'{dan} x {n} = {dan*n}')

# 구구단(중첩 for)
for i in range(2, 10):
    print(f'----{i}단----')
    for k in range(1, 10):
        print(f'{i} x {k} = {i*k}')
    print()

## 비시퀀스와 for문
# 세트와 for문
for item in {'가위', '바위', '보'}:
    print(item)  # 순서는 랜덤으로 나온다
print()

# 딕셔너리와 for문
person = {
    'name':'에밀리',
    'age':20
}
for item in person:
    print(item) # 키(key)가 나온다
print()

for item2 in person:
    print(person[item2]) # 값 출력
print()

for item3 in person:
    print(person.get(item3)) # 값 출력(get함수 사용)
print()

ev = {'sun' : '태양', 'moon' : '달', 'star' : '별', 'space' : '우주'}
for wd in ev:
    print(f'{wd}의 뜻 : {ev.get(wd)}')





- 문제 및 정답

# 조건문 추가문제 (if~elif~else)
'''
[문제]
키를 입력받아 185cm이상이면 Tall, 145cm이하면 Short, 그 외에는 Regular를 출력하는
프로그램을 작성하시오.

[출력결과]
키를 입력하세요 : 180.0
Regular

[정답]
height = float(input('키를 입력하세요 : '))

if height >= 185.0:
    print('Tall')
elif height <= 145.0:
    print('Small')
else:
    print('Regular')

'''



'''
[문제]
학생의 학점을 입력받아, 학점이 A와 B인 학생에게 '참 잘했습니다.',
학점이 C와 D인 학생에게 '좀 더 노력하세요.',
학점이 F인 학생에게 '다음 학기에 다시 수강하세요.'를 출력하는 프로그램을 작성하시오.

[출력결과]
학점을 입력하세요 : B
참 잘했습니다.

[정답]
grade = input('학점을 입력하세요 : ')

if grade == 'A' or grade == 'B':
    print('참 잘했습니다.')
elif grade == 'C' or grade == 'D':
    print('좀 더 노력하세요.')
elif grade == 'F':
    print('다음 학기에 다시 수강하세요.')    
else:
    print('잘못 입력하셨습니다. 다시 입력하세요.')
'''



'''
[문제] 윤년 판단
년도를 입력받아 윤년인지 판정해주는 프로그램을 작성하시오.

- 년수가 4로 나누어 떨어지는 해는 윤년
- 그 중에서 100으로 나누어 떨어지는 해는 평년
- 다만 400으로 나누어 떨어지면 다시 윤년
- 2016년은 윤년, 2100년은 평년, 2000년은 윤년

[출력결과]
년도를 입력하세요 : 2020
윤년입니다!

[결과]
year = int(input('년도를 입력하세요 : '))

if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
    print('윤년입니다!')
else:
    print('평년입니다!')

'''



'''
[문제]
한 점을 구성하는 (x, y) 좌표를 입력받고, 이 점이 (50, 40), (50, 80), (100, 40), (100, 80)을
꼭짓점으로 갖는 사각형 안에 있는지 판별하는 프로그램을 작성하시오.

[출력결과1]
x 좌표 입력하시오 : 60
y 좌표 입력하시오 : 100
사각형 안에 없습니다.

[출력결과2]
x 좌표 입력하시오 : 80
y 좌표 입력하시오 : 70
사각형 안에 있습니다.

[정답]

x = int(input('x 좌표 입력하시오 : '))
y = int(input('y 좌표 입력하시오 : '))
if (50 < x < 100) and (40 < y < 80):
    print('사각형 안에 있습니다.')
else:
    print('사각형 안에 없습니다.')
'''


loading