상호변환
a = [1, 2, 3, 4, 4, 5, 5, 5, 6, 7, 8, 9, 9, 9]
print(a, type(a))
b = set(a)
print(b, type(b))
c = tuple(a)
print(c, type(c))
d = list(c)
print(d, type(d))
set은 중복을 제외한다.
Dictionary
자바의 hashmap, hashtable은 파이썬의 dictionary와 같다.
hash에 넣으면 ex)64비트로 변환한다. (반대는 안됨)
key -> 64비트 key로 바뀐다.
{}의 default는 사용빈도가 높은 dictionary 타입이다.
a = {}
b = set()
print(a, type(a)) # dictionary타입
print(b, type(b)) # set 타입
s = {'홍길동','홍길동','홍길동','홍길동'} # set
info = {'홍길동':'활빈당', '임꺽정':'의적', '장길산':'광대'}
print(s, type(s))
print(info, type(info))
print(info['홍길동'])
info['장길산'] = '활빈도'
print(info)
info['일지매'] = '도둑'
print(info)
del info['일지매']
print(info)
r = '일지매' in info # 일지매가 info 안에 있느냐
print(r)
r = '홍길동' in info # 홍길동이 info 안에 있느냐
print(r)
제어문
# money = True
# if money:
# print('택시를 타고 가라')
# else:
# print('걸어 가라')
# print('담배값은 있다')
# money = True
# if money:
# print('택시를 타고 가라')
# else:
# print('걸어 가라')
# print('담배값은 있다')
# money = 2000
# if money >= 3000:
# print('택시를 타고 가라')
# else:
# print('걸어가라')
# money = 2000
# card = True
# if money >= 3000 or card:
# print('택시를 타고 가라')
# else:
# print('걸어가라')
# a = [1, 2, 3, 4, 5]
# r = 1 in a
# print(r) false 출력
# r = 10 not in a
# print(r) true 출력
pocket = ['paper', 'cellphone', 'money']
card = True
if 'money' in pocket:
print('택시를 타고 가라')
elif card:
print('택시를 타고 가라')
else:
print('걸어가라')
input : 키보드로 문자열 입력받기
# treeHit = 0
# while treeHit < 10:
# treeHit = treeHit + 1
# print('나무를 {}번 찍었습니다'.format(treeHit))
# if treeHit == 10:
# print('나무가 넘어갑니다')
# treeHit = 0
# while True:
# treeHit = treeHit + 1
# print('나무를 {}번 찍었습니다'.format(treeHit))
# if treeHit == 10:
# print('나무가 넘어갑니다')
# break
# prompt = """
# 1. Add
# 2. Del
# 3. List
# 4. Quit
#
# Enter number:
# """
#
# number = 0
# while number != 4:
# print(prompt)
# number = int(input())
coffee = 10
while True:
money = int(input("돈을 넣어주세요: "))
if money == 300:
print("커피를 줍니다")
coffee = coffee - 1
print("남은 커피의 양은 {}개입니다".format(coffee))
elif money > 300:
print("거스름돈 {}를 주고 커피를 줍니다".format(money-300))
coffee = coffee - 1
print("남은 커피의 양은 {}개입니다".format(coffee))
else:
print("돈을 다시 돌려주고 커피를 주지 않습니다")
print("남은 커피의 양은 {}개입니다".format(coffee))
if coffee == 0:
print("커피가 다 떨어졌습니다. 판매를 중지합니다")
break
a = ['홍길동', '임꺽정', '장길산', '일지매', '차돌바위']
for i in a:
print(i)
a = "Korea"
for i in a:
print(i, end=",")
marks = [90, 25, 47, 56, 89]
number = 0
for mark in marks:
number = number + 1
if mark >= 60:
print("{}번 학생은 합격입니다".format(number))
else:
print("{}번 학생은 불합격입니다".format(number))
for i in range(10): # 0부터 9까지
print(i, end=" ")
print() # 개행
for i in range(0, 10): # 0부터 9까지
print(i, end=" ")
for i in range(10, 20):
print(i, end=" ")
print()
for i in range(20, 10, -1): # 20부터 10보다 클때까지 -1
print(i, end=" ")
print()
for i in range(0, 20, 2): # 2씩 증가
print(i, end=" ")
enumerate(): 앞은 index, 뒤는 값을 꺼내온다.
# marks = [90, 25, 67, 45, 80]
# for number in range(len(marks)): 0부터 4까지
# if marks[number] < 60:
# continue
# print("{}번 학생 축하합니다. 합격입니다".format(number+1))
marks = [90, 25, 67, 45, 80]
for i, mark in enumerate(marks):
if mark < 60:
continue
print("{}번 학생 축하합니다. 합격입니다".format(i+1))
# 구구단 3단
for i in range(1, 10):
print("{}x{}={}".format(3, i, 3*i))
# 구구단 전체
for i in range(2, 10):
for j in range(1, 10):
print("{}x{}={}".format(i, j, i*j), end="\t")
print()
구구단 전체 출력
for i in range(1, 10):
for j in range(2, 10):
print("{}x{}={}".format(j, i, i*j), end="\t")
print()
a = []
for i in range(10):
a.append(i)
print(a)
a = [i for i in range(10)]
print(a)
a = [i for i in range(10)]
print(a)
a = [2*i for i in range(10)]
print(a)
a = [i for i in range(10) if i%2==0] # 짝수만
print(a)
a = []
for i in range(10):
if i%2==0:
a.append(i)
print(a)
# 구구단처럼 출력
a = [x*y for x in range(2, 10)
for y in range(1, 10)]
print(a)
a = []
for x in range(2, 10):
for y in range(1, 10):
a.append(x*y)
print(a)
# 사용자로부터 숫자를 입력받고 아래처럼 출력하세요
# 5를 입력하면 아래처럼 출력
# *
# **
# ***
# ****
# *****
number = int(input("숫자입력 : "))
for i in range(number):
print('*'*(i+1))
# 사용자로부터 숫자를 입력받고 아래처럼 출력하세요
# 5를 입력하면 아래처럼 출력
# o
# *o
# **o
# ***o
# ****o
num = int(input('입력 : '))
for i in range(num):
print('*'*i+'o')
# 선생님 방법
number = int(input("숫자입력 : "))
for i in range(number):
print('*'*i, end="")
print('o')
append
numbers = [1, 2, 3, 4, 5]
result = []
for n in numbers:
if n % 2 == 1:
result.append(n*2)
print(result)
# 한줄로 줄이기
result = [n*2 for n in range(1,6) if n%2==1]
print(result)