본문 바로가기
KOREATECH

파이썬 기초 2/2일차

by e1mo518518 2022. 7. 17.
728x90
728x90
SMALL

20220717

씽크온웹

 

인터넷에서 파이썬 바로 코딩가능한 곳

구글계정으로 로그인 가능

https://colab.research.google.com/drive/1zrYn4vhxRti9Jm0u-_5OSzYzPRUlAMVk?hl=ko 

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

jupyper notebook

http://localhost:8888/tree

 

http://localhost:8888/notebooks/Untitled2.ipynb?kernel_name=python3

 

kor=int(input("국어 성적:"))
eng=int(input("영어 성적:"))
mat=int(input("수학 성적:"))
att=int(input('태도 점수:'))

avr=(kor+eng+mat)/3

if avr>=90 and att>=5:
    print('A+')
elif avr>=80 and att <5:
    print('A0')
    
elif avr >=80:
     if att >=5:
         print('B+')
     else:
         print('B0')
 

 

kor=int(input("국어 성적:"))
eng=int(input("영어 성적:"))
mat=int(input("수학 성적:"))
att=int(input('태도 점수:'))

avr=(kor+eng+mat)/3

plus='0'
if att >=5:
    plus='+'

if avr>=90 and att>=5:
    print('A+')
elif avr>=80 and att <5:
    print('A0')
    
elif avr >=80:
     if att >=5:
         print('B+')
     else:
         print('B0')

 

kor=int(input("국어 성적:"))
eng=int(input("영어 성적:"))
mat=int(input("수학 성적:"))
att=int(input('태도 점수:'))

avr=(kor+eng+mat)/3

if kor>=60 and eng >=60 and mat >=60:

    plus='0'
    if att >=5:
        plus='+'

    if avr>=90 and att>=5:
        print('A+')
    elif avr>=80 and att <5:
        print('A0')
    
    elif avr >=80:
         if att >=5:
             print('B+')
else:
    print('F')

 

들여쓰기 레벨을 정확하게 맞추지 않으면 실행이 안된다.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

나이와 부모 동행 여부를 입력 받고,

청소년 관람불가 영화를 볼 수 있는지 검사하는 프로그램

1) 나이가 20세 이상이면 볼 수 있다.

2) 나이가 15~19세면 부모님과 함께 오면 볼 수 있다.

3) 나이가 15보다 어리면 못 본다.

 

age=int(input('나이는 몇 살인가요?'))
if age>=20:
    print('입장')
elif age>=15 and age<=19:
    print('부모님과 동행가능')
else:
    print('집으로')

 

age=int(input('나이는 몇 살인가요?'))
if age>=20:
    print('입장')
elif age>=15 and age<=19:
    print('부모님과 손잡고')
else:
    print('집으로')

 

 

둘의 코드는 결과가 같다.

a=1
if a==1:
    print('a is 1')
else:
    print('a is not 1')

 

 

print('a is 1' if a == 1 else 'a is not 1')

한 줄로 줄여서 좋을 수도 안좋을 수도 있다. 개발자의 의도에 따라 다르다.

 

 

 

로그인 id, pw 검증 프로그램 만들기

real_id, real_pw를 입력해둔다.

입력받은 my_id, my_pw와 비교한다.

아이디 비밀번호가 둘다 없으면 아이디를 입력해주세요.

아이디만 있다면, 비밀번호를 입력해주세요.

아이디, 비밀번호 둘다 있지만 둘 중 하나만 틀리면 둘 중 하나가 틀렸습니다. 다시 입력해주세요.

둘 다 맞다면 성공 출력

 

real_id=str('fea')
real_pw=int('518')
my_id=str(input('아이디는?'))
my_pw=str(input('비밀번호는 뭐냐?'))
if real_id == str('fea'):
    print('비밀번호를 입력해주세요')
else:
    print('아이디를 다시 입력해주세요')

 

 

real_id=str('fea')
real_pw=int('518')

my_id=input('아이디는?')
my_pw=input('비밀번호는 뭐냐?')

if my_id=='':
    print('id enter')
elif my_pw=='':
    print('pw enter')
elif my_id==real_id and my_pw==real_pw:
    print('victory')
else:
    print('fale')

 

 

lower =>>>> 문자열이 소문자로 인식한다.

 

 

반복문

for  아이템 in  반복 가능한 객체 :

- 반복이 몇 번 될것인가를 먼저 생각해야 한다.

 

in 뒤에 있는 인자를 하나씩 가져와서 출력한다.

 

 

 

range : 자리값을 정해준다.

0자리수 부터 8자리까지 2스텝마다 출력

 

아래로 나열되는 행이 너무 많다.

end=' ' # 옆으로 한 칸씩 건너띄면서 나열된다. 

 

 

값이 2이면 3으로 바꿔라.

data=[1,2,3,4,5,6,7,2]
for i in range(len(data)):
    if data[i] ==2:
        data[i]=3
    print(data[i], end=' ')

 

data=[(1,2),(3,4),(5,6)]
for i,j in data:
    print(j)

 

i,j 행에서 j만 가져온다.

 

반복문

while

num=1
while True:
    print(num, end=' ')
    if num == 50:
        break
    num=num+1

 

num=1
while num<10:
    num=num+1
    if num==5:
        continue
    print(num,end=' ')

 

#5를 만나면 계속실행

 

무한반복되고 있다.

 

#구구단출력

i=2
j=1
print("{} X {} = {}".format(i,j,i*j))
print(f"{i} X {j} = {i*j}")

 

for i in range(1,10):
    print("{} X {} = {}".format(2,i,2*i))

 

for j in range(2,10):
    for i in range(1,10):
        print("{} X {} = {}".format(j,i,j*i))
    print()

#구구단 출력

 

dan=2
while dan <=9:
    num=1
    while num<10:
        print("{} X {} = {}".format(dan,num,dan*num))
        num=num+1
    dan=dan+1
    print()

 

num=1
while num <=9:
    dan=2
    while dan<7:
        print("{} X {} = {:2}".format(dan,num,dan*num),end='    ')
        dan=dan+1
    num=num+1
    print()

# :2 두칸으로 자리를 잡고 출력해라

 

 

리스트 내포(심화)

l=[]
for i in range(5):
    l.append(2*i)
print(l)

 

 

print([2*i for i in range(5)])

 

 

l=[]
for i in range(100):
    if i%2==1:
        l.append(i)
print(l)

 

제어문 끝!!!

 

 

실습 

a=[1,5,2,6,4,3,8,3,7,9]를 파이썬의 내장함수, 리스트 sort함수등을 사용하지 않고 내림차순으로 정렬해주세요.

a=[1,5,2,6,4,3,8,3,7,9]

print(sorted(a)[::-1])
a.sort(reverse=True)
print(a)

 

 

a=[1,2]

temp=a[0]
a[0]=a[1]
a[1]=temp
print(a)

자리위치 바꾸기

 

a=[1,5,2,6,4,3,8,3,7,9]

for i in range(len(a)-1):
    if a[i]<a[i+1]:
        a[i],a[i+1]=a[i+1],a[i]
print(a)

# 이게 여러번 반복하면 된다.

 

a=[1,5,2,6,4,3,8,3,7,9]
for j in range(len(a)):
    for i in range(len(a)-1):
        if a[i]<a[i+1]:
            a[i],a[i+1]=a[i+1],a[i]
print(a)

 

a=[1,5,2,6,4,3,8,3,7,9]
for j in range(len(a)):
    for i in range(len(a)-1):
        if a[i]>a[i+1]:
            a[i],a[i+1]=a[i+1],a[i]
print(a)

#오름차순 정렬

 

1부터 100사이의 숫자중

1) 3,6,9가 들어가면 짝

2) 3,6,9가 2개면 짝짝

1,2,짝,4,5,짝....

27,28,짝,짝,짝,짝,짝짝

 

for i in range(1,100):
    num = str(i)
    cnt = num.count('3') + num.count('6') + num.count('9')
    if cnt == 0:
        print(i, end=' ')
    else:
        print('짝'*cnt, end=' ')

for i in range(1,100):
    num = str(i)
    cnt = num.count('3') + num.count('6') + num.count('9')
    if cnt == 0:
        print(i, end=' ')
    else:
        print('짝'*cnt, end=' ')

for i in range(1,100):
    if (i%10 == 3 or i%10 == 6 or i%10 == 9) and (i//10 == 3 or i//10 == 6 or i//10 == 9):
        print('짝짝',end=' ')
    elif (i%10 == 3 or i%10 == 6 or i%10 == 9) or (i//10 == 3 or i//10 == 6 or i//10 == 9):
        print('짝',end=' ')
    else:
        print(i, end= ' ')

for i in range(1,100):
    if (i%10 == 3 or i%10 == 6 or i%10 == 9) and (i//10 == 3 or i//10 == 6 or i//10 == 9):
        print('짝짝',end=' ')
    elif (i%10 == 3 or i%10 == 6 or i%10 == 9) or (i//10 == 3 or i//10 == 6 or i//10 == 9):
        print('짝',end=' ')
    else:
        print(i, end= ' ')

교육용으로는 쥬피터가 괜찮다.

실무용으로는 부족하다.

 

https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows

 

다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE

 

www.jetbrains.com

무료 커뮤니티로만 사용해도 별 문제없다.

*.ac.kr 이메일이면 프로페셔널 개정으로 1년 단위 갱신해서 사용가능하다.

 

 

 

 

 

 

파일 입출력

open

 

close

 

w -> 쓰기모드

 

- r => 읽기모드

f=open('aa.txt','r')
data=f.read()
f.close()
print(data)

 

f=open('C:\Users\513-00\aa.txt','w')
f.write('12345')
f.close()

\ 역슬레쉬는 다른 의미로 사용된다.

 

f=open('C:\\Users\\513-00\\aa.txt','w')
f.write('12345')
f.close()

경로로 사용하기위해서는 \\를 붙여야 한다.

f=open('C:\\Users\\513-00\\Documents\\aaa.txt','w')
f.write('12345')
f.close()

파일이 생성되고, 내부에 내용이 들어간다.

 

https://nbviewer.org/

 

nbviewer

nbviewer A simple way to share Jupyter Notebooks Enter the location of a Jupyter Notebook to have it rendered here: Programming Languages Books Misc

nbviewer.org

for i in range(rg,0,-1):
    print(" "*i,end='')
    print("*"*(rg-i+1),end='')
    print("*"*(rg-i),end='')
    print(" "*i)

 

LIST

'KOREATECH' 카테고리의 다른 글

실감형 AR 3D 및 3D 모델 제작  (0) 2022.07.20
스크래치  (0) 2022.07.19
파이썬 기초 1/2일차  (0) 2022.07.16
퍼실리테이션 시험 20220629  (0) 2022.06.30
퍼실리테이션 시험 20220629  (0) 2022.06.30