상호변환

jinkyung·2021년 3월 9일
0

Python

목록 보기
3/19
post-custom-banner

상호변환

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로 바뀐다.

Type

{}의 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)


제어문

  • if문
    파이썬은 괄호 대신 들여쓰기
# 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('걸어가라')


  • while문

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



  • for문
    end : 끝을 어떻게 처리할 것인지
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()


- list append
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)

post-custom-banner

0개의 댓글