Scroll indicator done

진인프라(전 netkti)

콘텐츠브릿지

엘에스씨시스템즈(삼성 데이터센터)

 

딕셔너리

딕셔너리 변수에 있는 이름표(key)값만 출력

 

딕셔너리 변수에 있는 값(value)만 출력

 

딕셔너리에서 키와 값을 튜플 형식으로 출력

 

key로써 그에 대응하는 값을 출력

딕셔너리에 이름표(key)가 존재하는지 확인하는 방법

in => 안에 있어야 True

not in => 안에 없어야 True

 

딕셔너리 생성/추가

a = {1 : 'a'}

print(a)

 

a[2] = 'b'

print(a)

 

 

딕셔너리 추가

a['name'] = "song"

a[3] = [1,2,3]

a['age'] = 20

a = {[1,2,3] : 'a'}

print(a)

 

딕셔너리 요소 삭제

del a[1]

print(a)

 

del a['age']

print(a)

 

딕셔너리 추가부터 오류떠서 그냥 다음으로 다같이 넘어감

 

 

mart={"다이제" : 1000, "메로나" : 500, "코카콜라" : 700, "츄파츕스" : 500}

print(mart["메로나"])

print("과자 가격인상!!")

mart["다이제"] = 2000

print(mart)

 

위의 mart 딕셔너리 자료형의 key값만 모아서 menu변수에 튜플형으로 보관하시오

위의 mart 딕셔너리의 value값을 정수로써 모두 더한 최종 금액을 price에 저장하시오

 

위의 mart 딕셔너리에 input으로 직접 key와 value 추가하기 (2개)

대입연산자(=)에서는 오른쪽 항의 연산을 완료하여 그 결과를 왼쪽 항에 대입

이렇게 해도되고

언패킹 이용

언패킹 : 오른쪽의 데이터를 왼쪽에 풀어준다

 

결과적으론 두 과정이 같음

 

집합

집합이라는 자료형은 이전의 수학에서의 집합이다

딕셔너리가 중괄호라 헷갈릴순있는데

딕셔너리는 쌍으로 있어야함

집합이라는게 있구나 이런거만 생각

 

문자열도 리스트 형태로 사용한다.

 

교집합 : 두 집합에서 같은 것 추출

방법은 두개

 

합집합 : 같은건 중복 출력안함

방법 2개

 

차집합 : 좌변의 집합을 기준으로 우변에 같은 값을 뺀 결과

방법 2개

 

 

 

제어문(조건문, 반복문)

조건문

 

반복문

조건 => 반복을 벗어남 break 문

if ___:

     종속문장 (if/ print()/ input())

주의점

1. if 뒤에는 반드시 : 콜른 기호를 사용한다

2. 종속문장은 조건의 결과를 만족할 때만 실행된다

3. 종속문장은 if문 아랫 줄에서 TAB키를 사용하여 들여쓰기를 한다.

홀수 짝수

 

이렇게 해도 되지만

이렇게 해도된다

if와 else는 같은 선상에 있어야한다

 

17시 이후에는 집에 간다. 그 미만은 계속 공부를 하자

 

 

예제

age = int(input("당신의 나이를 입력하세요 : "))

if age > 19:

print("당신은 성인", end = "")

else:

print("당신은 미성년자", end = "")

print("입니다.")

print 마지막에 \n이 생략되어있음

end = "" 넣어주면 \n이 공백으로 대체

 

money = True

print("케이크 집을 가서", end ="")

 

if money: #돈이 있으면(True)

print("먹는다")

print("얌얌")

else: #돈이 없으면(False)

print("손가락만 빨고있어.")

 

 

num = int(input("정수 하나를 입력하세요 : "))

if num < 0 :

print("%d는 음의 정수" %num, end="")

else:

print("%d는 양의 정수" %num, end="")

print("입니다.")

 

범위를 고쳐야함

수정완료 (아래쪽에있음)

 

 

논리연산자

논리 : 참(1), 거짓(0)

 

성별 = input("당신의 성별은 [남/여]? :")

age = int(input("당신의 나이는? : "))

 

if 성별 == "남" and age >= 19:

print("군대 입영대상자 입니다.")

if 성별 == "여" or age < 19:

print("군대 입영대상자가 아닙니다.")

 

 

in 연산자

마지막은 b를 찾는데 key값이 b가 없어서 False a,b,c는 key가 아니라 Value임

 

 

if 문제

정수 하나를 입력 받아 5의 배수인 경우를 출력하시오

 

정수 하나를 입력받아 짤수 혹수, 구분하시오

 

 

두 수를 입력 받아 첫번째 수가 두번째 수의 배수인지 출력하시오

 

두수를 입력 받아 더 큰수가 짝수이면 출력하시오

 

두 수를 입력 받아 합이 짝수이고 3의 배수인 수를 출력하시오

정수 하나를 입력 받아 절대값을 구하시오

버스는 10 정거장 미만일 경우에는 각 역 평균 이동시간이 2분 소요되며, 10 정거장이 넘으면 4분의 소요 시간이 걸린다.

버스 정거장 수를 입력하면 소요 시간을 계산하여 출력하시오

출력)

정거장 수 : 8

총 소요 시간은 16분 입니다.

총 소요 시간은 1시간 4분 입니다. (60분이 넘어가면 시간까지 계산하여 출력)

elif문을 배우진 않았는데

검색해서 풀었음

선생님 답

 

절대값을 구하는 함수

 

 

현재 건물에는 엘리베이터 2대가 있고,

A 엘리베이터는 5층에 B엘리베이터는 7층에 있다.

현재 내가 있는 층수를 눌러 가장 가까운 엘리베이터를 움직이시오.

(층 수의 개수의 차이가 같은 경우 B 엘리베이터가 움직인다)

(절대값을 사용해서 A와 B 엘리베이터의 차이를 구하여 움직인다)

출력)

층 입력: 2

A 엘리베이터가 움직입니다.

 

층 입력:8

B 엘리베이터가 움직인다.

 

 

영어단어를 key로 뜻을 value로 하는 딕셔너리를 선언

영어단어를 치고 그 뜻을 맞추면 정답입니다. 틀렸으면 틀렸습니다 를 출력하세요

출력)

영어 단어 입력 : money

영어 단어 뜻 입력 : 돈

정답입니다.

 

아까 안되던 문제 해결

 

다른방법

위의 방법은 계속 들여쓰기를해야하는데

elif를 쓰면 들여쓰기를 안해도된다

마지막 else는 안적어도됨

 

elif 문제

국어, 영어, 수학 세 과목의 성적을 입력받고 평균에 따른 등급을 출력하시오

평균 0~100 사이만 등급을 계산하도록 해주세요

100 ~ 90 점 : 'A'

89 ~ 80 : 'B'

79 ~ 70 : 'C'

69 ~ 60 : 'D'

59 ~ 0 : 'F'

출력)

국어 점수를 입력하세요 : 91

영어 점수를 입력하세요 : 87

수학 점수를 입력하세요 : 81

B등급

 

메뉴를 보고 만두 개수를 입력 받아 결제 금약을 출력하시오

 

북촌 손만두 메뉴)

새우 만두 1개 : 1000원

10개 이상 구매 시 15% 할인

100개 이상 대량 구매 시 25% 할인

현금 결제 시 결제 금액의 10%할인

출력)

만두 개수를 입력하세요 : 5

가격 : 5000원, 현금결제가 : 4500원

만두 개수를 입력하세요 : 100

가격 : 75000원, 현금결제가 : 67500원

만두 개수를 입력하세요 : 10

가격 : 8500원, 현금결제가 : 7650원

선생님 답
선생님 답

 

주민등록번호는 생년월일과 성별정보, 지역정보로 이루어집니다.

여기서 생년월일과 성별정보만 입력으로 받습니다.

생별 정보는 1이면 1900년대 출생 남자, 2이면 1900년대 출생 여자, 3이면 2000년대 출생 남자, 4이면 2000년대 출생 여자를 말합니다. 기준년도는 2024년도이고, 현재 나이와 성별정보를 출력하시오.

예)

901129 1         =========> 성별정보가 1이므로, 1990년생, 29살이다.

080521 4         =========> 성별정보가 4이므로, 2008년생, 10살이다.

출력)

생년월일 6자리 : 901129

주민번호 뒷자리의 첫글자 : 1

성별정보가 1이므로, 1990년생, 34살 입니다

출력)

생년월일 6자리 : 080521

주민번호 뒷자리의 첫글자 : 4

성별정보가 4이므로, 2008년생, 16살 입니다.

선생님 답
선생님 답