greetings = ["안녕", "니하오", "곤니찌와", "올라", "싸와디캅", "헬로", "봉주르"]
# 코드를 작성하세요.
i = 0
while i < len(greetings) :
print(greetings[i])
i+=1
# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수
def fahrenheit_to_celsius(fahrenheit):
# 코드를 입력하세요.
return round(((fahrenheit - 32) * 5) / 9, 1)
temperature_list = [40, 15, 32, 64, -4, 11]
print("화씨 온도 리스트: {}".format(temperature_list)) # 화씨 온도 출력
# 리스트의 값들을 화씨에서 섭씨로 변환하는 코드를 입력하세요.
for i in range(len(temperature_list)):
temperature_list[i] = fahrenheit_to_celsius(temperature_list[i])
print("섭씨 온도 리스트: {}".format(temperature_list)) # 섭씨 온도 출력
# 원화(₩)에서 달러($)로 변환하는 함수
def krw_to_usd(krw):
# 코드를 입력하세요.
return round(krw / 1000, 1)
# 달러($)에서 엔화(¥)로 변환하는 함수
def usd_to_jpy(usd):
# 코드를 입력하세요.
return round((usd / 8)*1000, 1)
# 원화(₩)으로 각각 얼마인가요?
prices = [34000, 13000, 5000, 21000, 1000, 2000, 8000, 3000]
print("한국 화폐: " + str(prices))
# prices를 원화(₩)에서 달러($)로 변환하기
# 코드를 입력하세요.
for i in range(len(prices)):
prices[i] = krw_to_usd(prices[i])
# 달러($)로 각각 얼마인가요?
print("미국 화폐: " + str(prices))
# prices를 달러($)에서 엔화(¥)으로 변환하기
# 코드를 입력하세요.
for i in range(len(prices)):
prices[i] = usd_to_jpy(prices[i])
# 엔화(¥)으로 각각 얼마인가요?
print("일본 화폐: " + str(prices))
# 빈 리스트 만들기
numbers = []
print(numbers)
# numbers에 값들 추가
# 코드를 입력하세요
arr = [1, 7, 3, 6, 5, 2, 13, 14]
for i in arr :
numbers.append(i)
print(numbers)
# numbers에서 홀수 제거
# 코드를 입력하세요
del_arr = []
for i in numbers:
if i % 2 != 0:
del_arr.append(i)
for i in del_arr :
if i in numbers :
numbers.remove(i)
print(numbers)
# numbers의 인덱스 0 자리에 20이라는 값 삽입
# 코드를 입력하세요
numbers.insert(0, 20)
print(numbers)
# numbers를 정렬해서 출력
# 코드를 입력하세요
numbers.sort()
print(numbers)
# value가 some_list의 요소인지 확인
def in_list(some_list, value):
i = 0
while i < len(some_list):
# some_list에서 value를 찾으면 True를 리턴
if some_list[i] == value:
return True
i = i + 1
# 만약 some_list에서 value를 발견하지 못했으면 False를 리턴
return False
# 테스트
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(in_list(primes, 7))
print(in_list(primes, 12))
True
False
파이썬에 이미 이 기능이 내장되어 있다. in이라는 키워드를 쓰면 된다.
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(7 in primes)
print(12 in primes)
True
False
거꾸로 값이 없는지 확인하려면 in 앞에 not을 붙이면 된다.
primes = [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(7 not in primes)
print(12 not in primes)
False
True
리스트 안에는 또 다른 리스트가 있을 수 있다. 이를 영어로 nested list라고 부른다.
# 세 번의 시험을 보는 수업
grades = [[62, 75, 77], [78, 81, 86], [85, 91, 89]]
# 첫 번째 학생의 성적
print(grades[0])
# 세 번째 학생의 성적
print(grades[2])
# 첫 번째 학생의 첫 번째 시험 성적
print(grades[0][0])
# 세 번째 학생의 두 번째 시험 성적
print(grades[2][1])
# 첫 번째 시험의 평균
print((grades[0][0] + grades[1][0] + grades[2][0]) / 3)
[62, 75, 77]
[85, 91, 89]
62
91
75.0
sort()는 새로운 리스트를 생성하지 않고 some_list를 정렬된 상태로 바꿔준다.
numbers = [5, 3, 7, 1]
numbers.sort()
print(numbers)
[1, 3, 5, 7]
reverse()는 some_list의 원소들을 뒤집어진 순서로 배치합니다.
numbers = [5, 3, 7, 1]
numbers.reverse()
print(numbers)
[1, 7, 3, 5]
index(x)는 some_list에서 x의 값을 갖고 있는 원소의 인덱스를 리턴해준다.
members = ["영훈", "윤수", "태호", "혜린"]
print(members.index("윤수"))
print(members.index("태호"))
1
2
remove(x)는some_list에서 첫 번째로 x의 값을 갖고 있는 원소를 삭제해준다.
fruits = ["딸기", "당근", "파인애플", "수박", "참외", "메론"]
fruits.remove("파인애플")
print(fruits)
['딸기', '당근', '수박', '참외', '메론']
for i in range(1, 10):
for j in range(1, 10):
print(f"{i} * {j} = {i*j}")
for a in range(1, 400):
for b in range(1, 400):
c = 400 - a - b
if a * a + b * b == c * c and a < b < c:
print(a * b * c)
# 1. 단어장 만들기
vocab = {
# 코드를 입력하세요.
"sanitizer": "살균제",
"ambition": "야망",
"conscience": "양심",
"civilization": "문명"
}
print(vocab)
# 2. 새로운 단어들 추가
vocab["privilege"] = "특권"
vocab["principle"] = "원칙"
# 코드를 입력하세요.
print(vocab)
# 언어 사전의 단어와 뜻을 서로 바꿔주는 함수
def reverse_dict(dict):
new_dict = {} # 새로운 사전
# dict의 key와 value를 뒤집어서 new_dict에 저장
# 코드를 입력하세요.
for key, item in dict.items() :
new_dict[item] = key
return new_dict # 변환한 새로운 사전 리턴
# 영-한 단어장
vocab = {
'sanitizer': '살균제',
'ambition': '야망',
'conscience': '양심',
'civilization': '문명',
'privilege': '특권',
'principles': '원칙'
}
# 기존 단어장 출력
print("영-한 단어장\n{}\n".format(vocab))
# 변환된 단어장 출력
reversed_vocab = reverse_dict(vocab)
print("한-영 단어장\n{}".format(reversed_vocab))
# 투표 결과 리스트
votes = ['김영자', '강승기', '최만수', '김영자', '강승기', '강승기', '최만수', '김영자', \
'최만수', '김영자', '최만수', '김영자', '김영자', '최만수', '최만수', '최만수', '강승기', \
'강승기', '김영자', '김영자', '최만수', '김영자', '김영자', '강승기', '김영자']
# 후보별 득표수 사전
vote_counter = {}
# 리스트 votes를 이용해서 사전 vote_counter를 정리하기
for name in votes:
if name not in vote_counter:
vote_counter[name] = 1
else:
vote_counter[name] += 1
# 후보별 득표수 출력
print(vote_counter)
# 자리수 합 리턴
def sum_digit(num):
# 코드를 입력하세요.
str_num = str(num)
sum = 0
for digit in str_num :
sum += int(digit)
return sum
# sum_digit(1)부터 sum_digit(1000)까지의 합 구하기
# 코드를 입력하세요.
sum = 0
for i in range(1, 1001):
sum += sum_digit(i)
print(sum)
def is_palindrome(word):
# 코드를 입력하세요.
re_word = word[::-1]
return re_word == word
# 테스트
print(is_palindrome("racecar"))
print(is_palindrome("stars"))
print(is_palindrome("토마토"))
print(is_palindrome("kayak"))
print(is_palindrome("hello"))
코드잇에서 수강하며 학습한 내용을 정리한 글입니다.