In [18]:
# 3버전 스타일 print 함수 사용
from __future__ import print_function
In [31]:
print([1,2,3])
In [17]:
for n in [1,2,3]:
print(n)
들여쓰기는 문법
In [30]:
for n in [1,2,3]:
print(n)
print(n)
In [12]:
for key in {'name': '이성주', 'email':'seongjoo@codebasic'}:
print(key)
In [20]:
profile = {'name': '이성주', 'email':'seongjoo@codebasic'}
profile.items()
Out[20]:
In [19]:
for key, value in profile.items():
print(key, value)
In [18]:
for c in 'python':
print(c, end=':::')
In [2]:
nums_square = []
for n in [1,2,3,4,5]:
nums_square.append(n**2)
print(nums_square)
리스트 내에서 반복문 실행
In [ ]:
nums_square = [n**2 for n in [1,2,3,4,5]]
print(nums_square)
숫자 리스트 생성 함수
In [7]:
range(10)
Out[7]:
In [3]:
# 3 버전
list(range(10))
Out[3]:
In [8]:
range(2,11)
Out[8]:
In [9]:
range(1,11,2)
Out[9]:
특정 횟수 반복
In [5]:
for x in range(3):
print('참 잘했어요!')
인덱스가 필요한 경우
In [27]:
it = enumerate('abc')
it.next()
Out[27]:
In [28]:
it.next()
Out[28]:
In [6]:
for i, x in enumerate(range(3)):
print i+1, '참 잘했어요!'
In [28]:
profile = {'name':'이성주', 'email': 'seongjoo@codebasic.co'}
for k,v in profile.items():
print(k,v)
In [20]:
x=1
while x < 3:
print(x)
x += 1
In [14]:
isTrueLove = True
while isTrueLove:
print("I love you")
break
포커 카드는 52장이다. 각 카드는 문양(suit)와 숫자(rank)로 이루어진다. 문양은 Diamond, Heart, Spade, Clover 4 종류이고, 숫자는 2, 3, … , 9, 10, J, Q, K, A의 13개의 값이다. 52장의 포커 카드를 생성해 변수 deck에 저장하시오.
예: ‘Diamond 3’, ‘Heart Q’
a. 각 포커 카드의 정보를 문자열 형태로 저장하시오.
b. 각 포커 카드 정보를 리스트 자료 구조로 저장하시오. 예: [‘Diamond’, 3], [‘Heart’, ‘Q’]
c. 한 줄의 구문으로 전체 포커 카드를 생성하시오.
d. 같은 문양은 같은 줄로 출력해 총 네 줄로 전체 카드를 출력하시오.
In [30]:
# 52장 카드 덱 생성
suits = ['Heart', 'Diamond', 'Clover', 'Spade']
ranks = range(2,11)+['J', 'Q', 'K', 'A']
deck = []
for s in suits:
for r in ranks:
card = s + str(r)
deck.append(card)
# 각 문양별로 한 줄씩 출력
previous_suit = ''
for card in deck:
# 카드의 문양을 뽑는다.
suit = card[0]
# 같은 문양이면 같은 줄로 출력
if suit == 'H':
suit_collection[0].append(card)
elif suit == 'D':
suit_collection[1].append(card)
elif suit == 'C':
suit_collection[2].append(card)
elif suit == 'S':
suit_collection[3].append(card)
else:
print('그런 문양은 없어요!')
for suits in suit_collection:
for card in suits:
print(card, end=', ')
print('\n')
In [24]:
deck = [[s,r] for s in ['Heart', 'Diamond', 'Spade', 'Clover'] for r in range(2,11)+['J','Q','K', 'A']]
len(deck)
Out[24]:
In [42]:
import random
total = 0
count = 0
while total < 100:
face = random.randint(1,6)
total += face
count += 1
print(count)
In [15]:
x = 10
if x < 5:
fruit = 'banana'
else:
fruit = 'apple'
print(fruit)
In [16]:
hour = 13
greeting = 'Good'
if 5 < hour < 12:
# 아침인사
greeting += ' morning'
elif 12 <= hour < 18:
greeting += ' afternoon'
else:
greeting += ' night!'
print(greeting)
In [31]:
if 'a':
print('hi')
In [56]:
# 숫자 생성
N = 20
for n in range(1,N):
# 숫자에 3 또는 6 또는 9가 있는지 확인
if '3' in str(n)or '6' in str(n)or '9' in str(n):
print('짝!', end=' ')
continue
print(n, end=' ')
In [48]:
False or 6
Out[48]:
In [ ]:
In [5]:
float(1/2)
Out[5]:
In [3]:
3/2
Out[3]:
In [10]:
students = [{'name': '이성주',
'scores': [75, 85, 92]},
{'name': '서희정',
'scores': [85, 95, 99]}
]
# 각 학생의 평균 점수 구하기
for s in students:
avg = float(sum(s['scores']))/len(s['scores'])
print(s['name']+ " 평균: " + str(avg))
# 각 과목의 평균 점수
subjects = [[],[],[]]
for s in students:
subjects[0].append(s['scores'][0])
subjects[1].append(s['scores'][1])
subjects[2].append(s['scores'][2])
print(subjects)
for sub in subjects:
print(sum(sub)/len(sub))
In [ ]:
In [74]:
# 일단 ... 회문 숫자를 검색하는 방법부터 마련해 보자
pn_list = []
for n1 in range(100,1000):
for n2 in range(100, 1000):
n = n1*n2
# Q:회문 숫자인가?
# A: 유한별
n_str = str(n)
if n_str[::-1] == n_str:
# 회문 숫자면 추가
pn_list.append(n)
# 추가된 회문 숫자의 최대값
print(max(pn_list))
In [ ]: