일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 코드업100제
- Python
- nlp
- Azure
- 블레이저
- 생성형AI
- 빅데이터
- 머신러닝
- 구글퀵랩
- C#
- gcp
- 코드업파이썬
- 파이썬기초
- 코드업
- Blazor
- Microsoft
- 파이썬알고리즘
- DataScience
- 데이터사이언스
- 클라우드
- GenerativeAI
- 자연어처리
- codeup
- GenAI
- attention
- 파이썬
- 한빛미디어
- 데이터분석
- 파이썬기초100제
- Today
- Total
Tech for good
[파이썬/Python] CodeUp 파이썬 기초 100제 6071 - 6076 본문
while문의 기본 구조
반복해서 문장을 수행해야 할 경우 while문을 사용한다. 그래서 while문을 반복문이라고도 부른다.
다음은 while문의 기본 구조이다.
while <조건문>:
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
...
while문은 조건문이 참인 동안에 while문 아래의 문장이 반복해서 수행된다.
6071 : [기초-반복실행구조] 0 입력될 때까지 무한 출력하기
- 임의의 정수가 줄을 바꿔 계속 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.
예시
...
n = 1 #처음 조건 검사를 통과하기 위해 0 아닌 값을 임의로 저장
while n!=0 :
n = int(input())
if n!=0 :
print(n)
...
참고
if 조건식 :
...
...
구조를 사용하면,
주어진 조건식의 평가 결과가 True 인 경우에만, 들여쓰기로 구분된 코드블록이 실행된다.
if 를 while 로 바꾸면?
while 조건식 :
...
...
와 같은 방법으로 반복해서 실행시킬 수 있다.
실행되는 과정은
1. 조건식을 평가한다.
2. True 인 경우 코드블록을 실행한다.
3. 다시 조건식을 평가한다.
4. True 인 경우 코드블록을 실행한다.
...
... 조건식의 평가 값이 False 인 경우 반복을 중단하고, 그 다음 명령을 실행한다.
조건식의 평가 결과가 True 동안만 반복 실행된다.
반복실행구조 안에 다른 조건/선택실행구조를 넣을 수도 있고...
조건/선택실행구조 안에 다른 반복실행구조를 넣을 수도 있다.
입력
임의의 정수가 줄을 바꿔 계속 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.
출력
입력된 정수를 줄을 바꿔 하나씩 출력하는데, 0이 입력되면 종료한다.
(0은 출력하지 않는다.)
입력 예시
7
4
2
3
0
1
5
6
9
10
8
출력 예시
7
4
2
3
n = 1 # 처음 조건 검사를 통과하기 위해 0이 아닌 값을 임의로 저장
while n!=0:
n = int(input())
if n==0:
break
else:
print(n)
6072 : [기초-반복실행구조] 정수 1개 입력받아 카운트다운 출력하기1
- 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.
while 조건식 :
...
...
반복 실행구조를 사용해 보자.
예시
...
while n!=0 :
print(n)
n = n-1
...
참고
n = n-1 #n에 저장되어있던 값에서 1만큼 뺀 후, 그 값을 다시 n에 저장시킨다.
n -= 1 과 같이 짧게 작성할 수도 있다. n -= 1 은 n = n-1 과 같은 의미이다.
이렇게 산술연산자(+, -, *, / ... )와 대입 연산자(=)를 함께 쓰는 것을 복합대입연산자라고도 부른다.
같은 방법으로 +=, *=, /=, //=, %=, &=, |=, ^=, >>=, <<=, **= 등과 같이 짧게 작성할 수 있다.
처음에 조건식을 검사하고, 그 다음에 실행하고, 그 다음에 값을 바꾸고...
다시 조건식을 검사하고, 실행하고, 값을 바꾸고...
입력
정수 1개가 입력된다.
(1 ~ 100)
출력
1만큼씩 줄이면서 한 줄에 1개씩 카운트다운 수를 출력한다.
입력 예시
5
출력 예시
5
4
3
2
1
n = int(input())
while n!=0:
print(n)
n -= 1
if n == 100:
break
n = int(input())
while n <= 100:
if n <= 0:
break
print(n)
n -= 1
6073 : [기초-반복실행구조] 정수 1개 입력받아 카운트다운 출력하기2
- 정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.
while 조건식 :
...
...
반복 실행구조를 사용해 보자.
참고
조건검사, 출력, 감소의 순서와 타이밍을 잘 생각해보자.
입력
정수 1개가 입력된다.
(1 ~ 100)
출력
1만큼씩 줄이면서 카운트다운 수가 0이 될 때까지 한 줄에 1개씩 출력한다.
입력 예시
5
출력 예시
4
3
2
1
0
n = int(input())
while n!=0:
n -= 1
print(n)
if n == 0:
break
6074 : [기초-반복실행구조] 문자 1개 입력받아 알파벳 출력하기(설명)
- 영문 소문자(a ~ z) 1개가 입력되었을 때, a부터 그 문자까지의 알파벳을 순서대로 출력해보자.
예시
c = ord(input())
t = ord('a')
while t<=c :
print(chr(t), end=' ')
t += 1
참고
알파벳 문자 a의 정수값은 ord('a')로 알아낼 수 있다.
chr(정수값)을 이용하면 유니코드 문자로 출력할 수 있다.
print(..., end=' ') 와 같이 작성하면 값 출력 후 공백문자 ' '를 출력한다. 즉, 마지막에 줄을 바꾸지 않고 빈칸만 띄운다.
(end='\n'로 작성하거나 생략하면, 값을 출력한 후 마지막(end)에 줄바꿈(newline)이 된다.)
입력
영문자 1개가 입력된다.
(a ~ z)
출력
a부터 입력한 문자까지 순서대로 공백을 두고 한 줄로 출력한다.
입력 예시
f
출력 예시
a b c d e f
c = ord(input()) # ord()는 문자의 유니코드 값을 돌려주는 함수
t = ord('a')
while t<=c:
print(chr(t), end=' ')
t += 1
+ 파이썬 ord()함수
6075 : [기초-반복실행구조] 정수 1개 입력받아 그 수까지 출력하기1
- 정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 출력해보자.
입력
정수 1개가 입력된다.
(0 ~ 100)
출력
0부터 그 수까지 줄을 바꿔 한 개씩 출력한다.
입력 예시
4
출력 예시
0
1
2
3
4
n = int(input())
i = 0
while i<=n:
print(i)
i += 1
6076 : [기초-반복실행구조] 정수 1개 입력받아 그 수까지 출력하기2
- 정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 출력해보자.
예시
n = int(input())
for i in range(n+1) :
print(i)
참고
range(n) 은 0, 1, 2, ... , n-2, n-1 까지의 수열을 의미한다.
예를 들어 range(3) 은 0, 1, 2 인 수열을 의미한다.
for i in range(n) : #range(n)에 들어있는(in) 각각의 수에 대해서(for) 순서대로 i에 저장해 가면서...
이때의 for는 각각의 값에 대하여... 라는 for each 의 의미를 가진다고 생각할 수 있다.
range(끝)
range(시작, 끝)
range(시작, 끝, 증감)
형태로 수열을 표현할 수 있다. 시작 수는 포함이고, 끝 수는 포함되지 않는다. [시작, 끝)
증감할 수를 작성하지 않으면 +1이 된다.
반복 실행구조에 반복 횟수를 기록/저장하는 변수로 i를 자주 사용하는데,
i 는 반복자(iterator)를 나타내는 i라고 생각할 수 있다. i, j, k ... 알파벳 순으로 사용하기도 한다.
입력
정수 1개가 입력된다.
(0~100)
출력
0부터 그 수까지 줄을 바꿔 한 개씩 출력한다.
입력 예시
4
출력 예시
0
1
2
3
4
n = int(input())
for i in range(n+1):
print(i)
'IT > Computer Science' 카테고리의 다른 글
[파이썬/Python] CodeUp 파이썬 기초 100제 6080 - 6082 (0) | 2022.04.10 |
---|---|
[파이썬/Python] CodeUp 파이썬 기초 100제 6077 - 6079 (0) | 2022.04.03 |
[파이썬/Python] CodeUp 파이썬 기초 100제 6065 - 6070 (0) | 2022.03.06 |
[파이썬/Python] CodeUp 파이썬 기초 100제 6059 - 6064 (0) | 2022.02.27 |
[Blazor, C#] Blazor WebAssembly Blog Series 5 (0) | 2022.02.24 |