문자열
x = 'banana'
x[0] # 0번째 글자
'b'
x[2:4] # 2번 이상 4번 미만
'na'
x[:3] # 처음부터 3번 미만
'ban'
x[3:] # 3번 부터 끝까지
'nan'
s = 'hello Python!'
s.find('P') #'P'의 위치찾기
6
s.split()
['hello','Python!']
h = [0:6]
'hello '
h.rstrip()
'hello'
리스트
arr = [3,7,11]
arr.append(5)
[3,7,11,5]
arr.sort()
[3,5,7,11]
arr.insert(0,2)
[2,3,5,7,11]
del arr[1] # 1번째 자리 원소 삭제
[2,5,7,11]
a = arr.pop() # 삭제한 원소를 a 변수로 받음
11
orders = ['potato', ['pizza', 'Coke', 'salad'], 'hamburger']
orders[1]
['pizza', 'Coke', 'salad']
orders[1][2]
'salad'
문자열 리스트로 바꾸기
arr = []
char = 'Be happy'
for i in char:
arr.append(i)
print(arr)
['B','e',' ','h','a','p','p','y','!']
list('Be happy!')
['B','e',' ','h','a','p','p','y','!']
# 숫자를 문자열로 바꾸기
num = 123
type(num)
<class int>
str(num)
<class str>
# 문자를 숫자로 바꾸기
int('123')
123
float('123')
123.0
#리스트 원소들 합 구하기
num = list(range(1,11))
[1,2,3,4,5,6,7,8,9,10]
sum(num)
55
성적표
chulsu = [90, 85, 70]
younghee = [88, 79, 92]
yong = [100, 100, 100]
minsu = [90, 60, 70]
students = [chulsu, younghee, yong, minsu]
for scores in students:
print(scores)
[90, 85, 70]
[88, 79, 92]
[100, 100, 100]
[90, 60, 70]
for scores in students:
total = 0
for s in scores:
total = total + s
average = total / 3
print(scores, total, average)
[90, 85, 70] 245 81.66666666666667
[88, 79, 92] 259 86.33333333333333
[100, 100, 100] 300 100.0
[90, 60, 70] 220 73.33333333333333
연습 문제
- 각 자리 숫자의 함을 구하는 함수 - 리스트 이용
정수를 매개 변수로 받아 각 자리 숫자의 합을 계산하는 함수 작성 - 단, 나눗셈 이용하지 말것
from functools import reduce
def sumOfDigits(num):
t = list(str(num))
result = reduce(lambda x,y: int(x)+int(y) ,t)
print(result)
if __name__ == '__main__':
sumOfDigits(47253)
sumOfDigits(643)
----------------------------------------------------
def sumOfDigits(num):
sum = 0
for c in list(str(num)):
sum += int(c)
return sum
if __name__ == '__main__':
print(sumOfDigits(47253))
print(sumOfDigits(643))
- 줄기와 잎 그림
줄기와 잎 그림을 파이썬으로 만들기
score = [0, 0, 2, 4, 7, 7, 9]
score += [11, 11, 13, 18]
score += [20]
def test(arr):
stem_leaf = [[],[],[]]
for s in score:
d,m = divmod(s,10)
stem_leaf[d].append(m)
for i in range(len(stem_leaf)):
print( f'{i}: {stem_leaf[i]}')
test(score)
- 각 자리 숫자의 합을 구하는 함수 (map() 사용)
def test(num):
num = list(map(lambda x: int(x), list(str(num))))
print(sum(num))
if __name__ =='__main__':
test(643)
test(47253)
- 소수 구하기
def prime(n):
L = list(range(2,n+1))
L2 = L[:]
for p in L:
for q in L:
if(q in L2) and (q != p and q % p == 0):
L2.remove(q)
print(L2)
prime(50)
- 진법 변환
def test():
num = int(input())
num = bin(num).replace('0b','')
return num
print(test())
---------------------------------------------------
d = int(input())
m = d
b = []
while True:
d, m = divmod(d, 2)
b.insert(0, m)
if d == 0:
break
print(b)
'PYTHON > 기본 문법' 카테고리의 다른 글
PYTHON - 딕셔너리(dict), 세트(set) (1) | 2022.11.10 |
---|---|
PYTHON - 튜플 (0) | 2022.11.10 |
PYTHON - 데이터 타입 (0) | 2022.11.08 |
PYTHON 기본 문법 (함수) (0) | 2022.11.08 |
PYTHON 기본 문법 ( for , match - case 문 ) (1) | 2022.11.08 |