-
파이썬 기초4. 조건문, if-else, if-elif-else, random(), 논리연산자마케팅/파이썬 2023. 5. 26. 02:25
1. 조건문 만들기
-순차 구조(sequence): 명령어들이 순차적으로 실행되는 구조
-선택 구조(selection): 둘 중 하나의 명령을 선택하여 실행되는 구조
-반복 구조(interaction): 동일한 명령이 반복되면서 실행되는 구조
프로그래밍에서의 조건 : 질문(question) 후 결정(decision)하는 방식
1-1. 관계 연산자(relational operator)
연산 의미 예 결과값 x==y x와 y가 같다 100==1 False x!=y x와 y가 다르다(같지 않다) 100!=1 True x>y x가 y보다 크다 100>1 Ture x<y x가 y보다 작다 100<1 False x>=y x가 y보다 크거나 같다 100>=1 True x<=y x가 y보다 작거나 같다 100<=1 False 2.if와 if-else문
-파이썬은 줄이 바뀌면 새로운 문장이 시작하는 걸로 인식함
-콜론(:)을 입력하여 문장이 아직 끝나지 않았음을 요청해야함
-조건의 영향을 받는 문장들은 반드시 들여쓰기 해야함
*블록이란?
파이썬에서 문장 앞에 동일한 개수의 공백이 있다면 이들 문장은 하나의 블록에 속함
동일한 블록에 속해야 하는데 실수로 공백을 추가하거나 덜 추가했다면 오류 발생
2-1. if문 예제
더보기<실행결과1>
언어를 선택하세요(1=한국어, 2=영어, 3=프랑스어, 4=독일어)
안녕
<실행결과2>
언어를 선택하세요(1=한국어, 2=영어, 3=프랑스어, 4=독일어)
Guten morgen
language = int(input("언어를 선택하세요(1=한국어, 2=영어, 3=프랑스어, 4=독일어)")) if language==1: print("안녕") if language==2: print("Hello") if language==3: print("Bonjour") if language==4: print("Guten morgen")
*point: print 들여쓰기, if 문 뒤에 세미콜론(:)붙이기
2. if-else 예제
예제1) 영화 관람 나이 제한 조사
15세 이상만 볼 수 있는 영화
사용자 나이를 입력하여 영화 관람 여부를 화면에 출력하는 프로그램 코드 작성하기
더보기<실행결과1>
나이를 입력하시오:
영화를 관람할 수 있습니다.
<실행결과2>
나이를 입력하시오:
영화를 관람할 수 없습니다.
age=int(input("나이를 입력하시오")) if age>=15: print("영화를 관람할 수 있습니다.") else: print("영화를 관람할 수 없습니다.")
예제2) 홀수-짝수 판별 프로그램
짝수인지 홀수인지 판별하는 프로그램 코딩하기
더보기<실행결과1>
정수를 입력하시오:
짝수입니다.
<실행결과2>
정수를 입력하시오:
홀수입니다.
num=int(input("정수를 입력하시오.")) if num%2==0: print("짝수입니다.") else: pirnt("홀수입니다.")
*point : '='이 아닌 '=='임을 잊지말기
3.논리연산자(logical operator)
여러 개의 조건을 조합하여 참인지 거짓인지 따질 때 사용
연산 의미 x and y x와 y가 모두 참이면 참 x or y x나 y중에서 하나만 참이면 참 not x x가 참이면 거짓, x가 거짓이면 참 4. if-elif-else
조건1이 참이 아니라면 조건2, 조건1도 조건2도 아닌 경우 3번 결과 출력
예제3) 정수, 0, 음수 판별
더보기<실행결과1>
정수를 입력하세요:
양수입니다.
<실행결과2>
정수를 입력하세요:
0입니다.
<실행결과3>
정수를 입력하세요:
음수입니다.
num=int(input("정수를 입력하시오:")) if num>0: print("양수입니다.") if num==0: print("0입니다.") if num<0: print("음수입니다.")
예제4) 주민등록번호 뒷자리 남/여 판별하기
랜덤으로 나오는 주민등록번호 뒷자리 중 첫번째 값을 보고 남, 여 판별하는 프로그램 작성
더보기<실행결과1>
주민등록번호의 성별 정보 번호를 생성합니다.
생성번호:1
남성입니다.
프로그램을 종료합니다.
<실행결과2>
주민등록번호의 성별 정보 번호를 생성합니다.
생성번호:4
여성입니다.
프로그램을 종료합니다.
import random print("주민등록번호의 성별 정보 번호를 생성합니다.") gender=random.randrange(4) gender=gender+1 print("생성번호:"+str(gender)) if gender==1 or gender==3: print("남성입니다.") else: print("여성입니다.") print("프로그램을 종료합니다.")
더보기★파이썬 난수 모듈 (random 함수)로 무작위 수 반환하기
1. import random
2.random.randrange()
-random.random() 함수는 0.0에서부터 1.0 사이의 실수(float)를 반환
-1.0을 포함하지 않는 범위 (0.0 <= x < 1.0)
3.random.uniform(a,b)
-random.uniform 함수는 인자로 들어온 a~b 사이의 실수(float)를 반환
-uniform 함수의 랜덤 범위는 a <= x <= b
4.randint(a,b)
-randint 함수는 인자로 들어온 a, b 사이의 랜덤한 정수(int)를 반환
-반환하는 x는 a, b를 포함한 범위 (a <= N <= b)
예제5) 전기회로
더보기설명 : 전지 여러 개를 서로 다른 극끼리 한길로 연결 -> 직렬(전지 1개를 빼면 불이 꺼짐)
전지 여러 개를 두 개 이상의 다른 길로 연결 -> 병렬(전지 1개를 빼도 불이 꺼지지 않음)
<실행결과1>
1번 전지가 있습니까?(Y/N) ->y
2번 전지가 있습니까?(Y/N) -> n
직렬연결: 전구에 불이 꺼집니다.
병렬연결: 전구에 불이 켜집니다.
<실행결과2>
1번 전지가 있습니까?(Y/N) ->y
2번 전지가 있습니까?(Y/N) -> y
직렬연결: 전구에 불이 켜집니다.
병렬연결: 전구에 불이 켜집니다.
a=input("1번 전지가 있습니까? (Y/N)") b=input("2번 전지가 있습니까? (Y/N)") if a.upper()=="Y" and b.upper()=="Y": print("직렬연결: 전구에 불이 켜집니다.") else: print("직렬연결: 전구에 불이 꺼집니다.") if a.upper()=="N" or b.upper()=="Y": print("병렬연결: 전구에 불이 켜집니다.") else: print("병렬연결: 전구에 불이 꺼집니다.")
예제6) 숫자 계산 프로그램 만들기
임의의 수 x,y의 뺄셈의 계산을 질문 후 결과 알려주는 프로그램
import random x= random.randint(1,100) y= random.randint(1,100) ans=int(input(str(x)+"-"+str(y)+"=")) if ans==x-y: print("맞았습니다.") else: print("틀렸습니다.")
예제7) 사용자로부터 정수를 받아 2와 3으로 나누어 떨어지는 지 출력하기
더보기<실행결과>
점수를 입력하시오: 6
2와 3으로 나누어 떨어집니다.
x=int(input("점수를 입력하시오:")) if x%2==0 and x%3==0: print("2와 3으로 나누어 떨어집니다.") else: print("2와 3으로 나누어 떨어지지 않습니다.")
*혼동 주의: 나눗셈 후 몫이 아닌 나머지를 구할때는 '/'가 아닌 '%'을 사용해야함
예제8) 2자리로 이뤄진 복권 번호 당첨기 만들기
-복권 번호 2자리 모두 일치하면 100만원
-복권 번호 2자리 중 한 자리만 일치하면 50만원
-그 외 없음
더보기<실행 결과>
복권번호를 입력하세요(0~99사이) :
당첨 번호는 00 입니다.
상금은 00 입니다.
import random x=random.randint(0,99) i=int(input("복권번호를 입력하세요(0~99사이) :")) print("당첨번호는",x,"입니다.") if i==x: print("상금은 100만 원 입니다.") elif i//10==x//10 or i%10==x%10: print("상금은 50만 원 입니다.") else: print("상금이 없습니다.")
'마케팅 > 파이썬' 카테고리의 다른 글
파이썬 기초7. 함수 (1) 2023.05.30 파이썬 기초6. 리스트(list), remove, append, insert, del, sorted, reverse (0) 2023.05.26 파이썬 기초 5. 반복문, for- in range, while, break, continue (0) 2023.05.26 파이썬 기초 3. 자료의 종류, type, str, %s,\n, index, end='' (0) 2023.05.25 파이썬 기초 1. print, variable, input (0) 2023.05.25