Python - 6

윤기나는코딩·2023년 3월 10일
0

Python

목록 보기
7/16

반복문 for

for 변수 in 집합형 자료:...

#for i in [1,2,3,4,5]: # list
#for i in (1,2,3,4,5): # 튜플
for i in {1,2,3,4,5}: # set
    print(i, end=' ')    
print()
soft ={'java':'웹영언어', 'python':'만능언어', 'MariaDB':'데이터 처리'}
print(soft.items()) #dict_items([('java', '웹영언어'), ('python', '만능언어'), ('MariaDB', '데이터 처리')])

for i in soft.items():
    #print(i) # 튜플만 보임
    print(i[0] + '^^;' + i[1])

print()
for k in soft.keys():
    print(k, end=' ')
    
print()
for k in soft.values():
    print(k, end=' ')
print()
li = ['a','b','c']
for idx, data in enumerate(li): # enumerate() - index를 반환함
    print(idx, data)
    
print('\n평균, 분산, 표준편차 구하기') # 평균이란... 검색해보기
jum = [1,3,5,7,9]
print(jum)

tot =0
for i in jum:
    tot +=i
    
avg =tot/len(jum)
print('mean : ', avg)

tot= 0
for i in jum:
    tot += (i - avg) ** 2  # (i - avg)-편차
    
var = tot/len(jum)
print('var : ', var) # 분산은 편차 제곱합의 평균
import math
print('std : ', math.sqrt(var)) # 표준편차 # = print('std : ', var ** 0.5)
  1. 다량의 문자열 데이터 중 단어 수 출력
import re
ss = '''
5일 코로나19 신규확진자 수가 3만4739명을 기록했다. 전일보다 1420명 줄었다. 
위중증 환자와 사망자 등 방역 관련 모든 지표가 안정세다. 
이제 방역 관건은 코로나19 자체보다 독감이라는 말이 의료계에서 나온다.
3년만에 독감 유행이 예고됐으며 독감과 코로나19가 동시 유행할 경우 환자 중증도가 크게 올라갈 우려가 있어서다.
게다가 올해 유행할 독감은 독감 바이러스 중에서도 가장 강한 'A형 H3N2'다. 
적극적 독감백신 접종이 필요하다는 것이 방역당국과 의료계 공통된 의견이다.
중앙방역대책본부는 이날 0시 기준 신규확진자 수가 3만4739명을 기록했다고 밝혔다. 
이 가운데 해외 유입사례 69명을 제외한 국내 확진자 수는3만4670명이었다. 
수도권에서 전체 국내 확진의 56.5% 비중인 1만9587명이 확진됐다. 
재원중 위중증 환자는 330명으로 전일대비 20명 감소했다. 
사망자는 16명으로 전일보다 3명 줄었다. 누적 사망자는 2만8544명(치명률 0.11%)이다.
'''
print(ss)
print()
ss2 = re.sub(r'[^가-힣\s]', '', ss)
print(ss2)
ss3 = ss2.split(' ')
print(ss3)

cou={} # 단어의 발생 횟수를 dict 로 저장
for i in ss3:
    if i in cou:
        cou[i]+=1
    else:
        cou[i]=1
print(cou)
for test_str in ['111-1234', '일이삼-사오육칠', '222-1234']:
    if re.match(r'^\d{3,4}-\d{4}$',test_str):
        print(test_str, '전화번호 맞아요')
    else:
        print(test_str, '음...')
print('사전형 사료로 과일값 출력')
price ={'사과':2000, '감':500, '배':1000}
guest ={'사과':2, '감':3}
bill = sum(price[f] * guest[f] for f in guest)
print('고갱님이 구매한 과일 총액 : {}원'.format(bill))
# 고갱님이 구매한 과일 총액 : 5500원
temp =[1,2,3]
for i in temp :
    print(i, end=' ')
print()
print([i for i in temp])
print({i for i in temp})

temp2 = list()
for i in temp:
    temp2.append(i + 10)
print(temp2)
temp2 =[i+10 for i in temp]
print(temp2)

print()
datas =[1,2,'a', True, 3]
li =[i * i for i in datas if type(i) == int]
print(li)

print()
datas = {1,1,2,2,2,3}
se = {i*i for i in datas} # set type 이라 중복을 제거
print(se)

print()
id_name = {1:'tom', 2:'james'}
name_id ={value:key for key, value in id_name.items()}
print(name_id)

for + range

print(list(range(1,6,1))) # 1부터 6사이에 숫자를 표시하고, 그 숫자들의 차이가 1이다.
print(set(range(1,6)))
print(tuple(range(1,6)))
print(list(range(1,11,2))) # 1부터 11사이에 숫자를 표시하고, 그 숫자들의 차이가 2이다.

print(list(range(6)))
print(list(range(0,6,1)))
print(list(range(-10, -100, -20)))
  1. _ : 반복만 해줘, 참조X
for _ in range(6): # _ : 반복만 해줘, 참조X
    print('hi', end=' ')
    # pass
  1. 구구단 2단 만들때
for i in range(1,10):
    print('{0}*{1}={2}'.format(2, i, 2*i), end=' ')
  1. 예제1
# 문1) 2~9 단 까지 출력
for n in range(2,10):
    print('---{}단---'.format(n))
    for i in range(1,10):
        print('{}*{}={}'.format(n, i, n*i))
    print()
  1. 예제2
# 문2) 1~100 사이의 3의 배수이면서 5의 배수의 합 출력
a=0;
for n in range(1,101):
    if n % 3 == 0 and n % 5 ==0:
        a += n
print('합은', a) # 합은 315
  1. 예제3
# 문3) 주사위를 두번 던져서 나온 숫자들의 합이 4의 배수가 되는 경우만 두 수 출력
# 출력 예) 1 3 
#        2 2
#        ...
for i in range(1,7):
    for j in range(1,7):
        su = i + j 
        if su % 4 == 0:
            print(i, j)
print()
# n-gram : 문자열에서 N개의 연속된 요소를 추출하는 방법
text='hello'

for i in range(len(text)-1):
    print(text[i:i+2])
    
'''
he
el
ll
lo
'''
profile
꾸준히 정리해서 공부한것을 올려보자!

0개의 댓글