Data Analysis/Python Basic

[파이썬] 중간고사 대비

뉴욕킴 2023. 4. 22. 15:40

print(“200 + 100”)
출력값>> 200+100
 
print(200 + 100)
출력값>> 300
 
print(int(“200”) + 100)
출력값>> 300 #형 변환 함수 int()에 의해 문자열 “200”이 정수타입으로 바뀐다.


실습3-1. 삼성전자라는 변수로 50,000원 바인딩하고 주식 10주를 보유했을 때 총 평가금액 출력
str="삼성전자"
a=50000
total=a*10
print("내 주식 총액은",total)
 

# 실습3-3
s="hello"
t="python"
print(s,"!",t)



%f는 디폴트로 소수점 아래 여섯 자리까지 무조건 출력
%“소수점을 포함한 전체 자릿수”.“소수점 아래 표현할 자릿수”f
 
 print(“%d / %d = %5.1f” % (10, 4, 10 / 4))

출력값>> 10 / 4 =   2.5


print(“%d / %d = %5.0f” % (10, 4, 10 / 4))

출력값>> 10 / 4 =     2
 
 
print("%05d" % 543)
출력값>>    00543

print("%10s" % "파이썬")  #문자열은 앞에 0을 붙여도 "공백"으로 출력
출력값>>      파이썬

print("%1.1f" % 123.45)
출력값>>    123.4


 

print("%d/%d=%d" % (100,200,0.5))
print("%d/%d=%5.1f" % (100,200,0.5))
print("%d/%d=%f" % (100,200,0.5))

%s : 문자열
%d : 정수 
%f : 실수 
 

print("%d"%123)
print("%5d"%123# 전체자리수 다섯자리 _ _ _ _ _
print("%05d"%123# 공백부분을 0으로 채운다

 

print("%f"%123.45)
print("%5.1f"%123.45# %5.1f : 전체자리수 5자리 & 소수점1자리만 보이게 
print("%7.1f"%123.45# 전체자리수 7자리 & 소수점 이하 자리 1개만 표현
print("%7.3f"%123.45)

 

print("%s" % "python"#문자열이기 때문에 %s 사용
print("%10s" % "python"# 전체 10개 자리를 잡고 오른쪽 정렬로 문자 기입 

 


print("일어나\n학교가야지\n공부해야지")

\n은 새로운 줄로 이동하는 이스케이프 문자로 Tab이 아닌 Enter를 누른 효과
 


# ==같다 / = 대입
a=(100==100)

 

type() 함수는 파이썬 내장 함수로 변수의 자료형을 출력해주는 함수다. 변수에 저장된 값을 출력하는 함수는 print()


문제2. 문자열을 입력받고, 입력 받은 문자열의 순서를 거꾸로 출력하시오
 
string[::-1]

string = 'IT Cookbook, Python'
reversed_str = string[::-1]

print(f'Original String: {string}')
print(f'Reversed String: {reversed_str}')
 

 

s = 'abcde'
print(s[3:0:-1])  # dcb
s = 'abcde'
print(s[3::-1])  # dcba
s = 'abcde'
print(s[4::-1])  # edcba
print(s[::-1])  # edcba
l = ['a', 'b', 'c', 'd', 'e']
print(l[::-1])  # ['e', 'd', 'c', 'b', 'a']

t = ('a', 'b', 'c', 'd', 'e')
print(t[::-1])  # ('e', 'd', 'c', 'b', 'a')
 
strl = 'IT Cookbook, Python'

#문자열 리스트로 치환
strl_list = list(strl)
#문자열 리스트 역순으로 바꾸기
strl_list.reverse()

print(''.join(strl_list))


산술 연산자가 아닌 것을 모두 고르시오

+ - * ^ ~ / // % ** & *** ?

답: ^(배타적 논리합), ~(부정), &(논리곱) 은 비트 연산자다.  ***와 ?는 연산자가 아니다.


문자열을 숫자로 변환한 후 계산하는 식이다. 오류가 발생하는 것을 고르고, 오류가 발생하지 않도록 수정하시오.

s1, s2, s3 = "111", "111.11", "999999999999999"
⓵ int(s1) + 111.11
⓶ int(s2) + 111.11

출력값>> ValueError: invalid literal for int() with base 10: '111.11'

111.11은 float 타입이기 때문에 int 타입으로 형변환을 하려 하면 위와 같은 에러가 발생한다. 따라서 int()가 아닌 float()을 호출해야 한다.


if / else
if / elif / else
 

num = input("글자입력: ")

if('0'<= num and num <= '1'):
    print("2진수 또는 8진수 또는 10진수 또는 16진수입니다")

elif ('2' <= num and num <= '7'):
    print("8진수 또는 10진수 또는 16진수입니다")

elif ('8' <= num and num <= '9'):
    print("10진수 또는 16진수입니다")

elif ('a' <= num and num <= 'f'or ('A' <= num and num <= 'F'):
    print("16진수입니다")

else:
    print('숫자가 아닙니다')


입력한 숫자가 3의 배수인지를 판단하는 프로그램이다. 빈칸을 채우시오.

a = int(input("정수를 입력하세요 : "))

if a % 3 == 0 :
    print("3의 배수를 입력했군요.")
else :
    print("3의 배수가 아니군요.")


# 리스트와 함께 사용

fruit =['사과','배','딸기','포도']
print(fruit)

fruit.append('귤')
print(fruit)


for i in range(1,6,1):
    print('%d'%i, end="")    # end="" 쓰면 가로로 출력값 나옴
 

 


for 문의 기본 형식

for 변수 in range(시작값, 끝값+1, 증가값) :
이 부분을 계속 반복~~
 

for i in range(1,20,4):
    print('%d'%i)
 

다음 코드에서는 몇 번 출력되는지 예측하시오.

for i in range(1, 100, 1) :
    print("내일 중간고사네요^_^")

>> 1부터 99까지 1씩 증가하기 때문에 총 99번 출력된다.


100부터 200까지 2의 배수만 더하는 프로그램이다. 빈칸을 채우시오.

i, hap = 0, 0

for i in range(100, 201, 2) :
    hap = hap + i

print("100부터 200까지 2의 배수 합계 : %d" % hap)


다음 코드에서는 몇 번 출력되는지 예측하시오.

for i in range(1, 10) :
    for k in range(1, 10) :
        print("내일 중간고사네요><")

>> 첫 번째 for 문이 9번 돌고, 그 안에서 두 번째 for 문이 또 9번 돌기 때문에 총 9 * 9 = 81번 출력


# 1에서 10까지의 합계
i, hap=0,0 # 초기화 값을 설정

for i in range(1,11,1):
    hap=hap+i
    
print('1에서 10까지의 합계: %d' %hap)

# 500과 1000사이에 있는 홀수의 합계
i,hap =0,0

for i in range(501,1001,2):
    hap=hap+i
    
print('500과 1000사이에 있는 홀수의 합계: %d' %hap)

# 1~200 합계 더하되 6의 배수 제외하고 더하기

hap,i=0,0

for i in range(1,201):
    if i%6==0:
        continue
    
    hap+=i
    
print('1~200의 합계(6의 배수 제외): %d' %hap)

# 1번 for문을 사용해서 3333부터 9999까지의 숫자 중에서 1234의 배수의 합계를 구하되
# 합계가 100,000이 넘기 직전까지만 합계를 구하는 코드를 작성하세요.
# 단 코드에는 continue와 break를 모두 사용해서 작성

hap=0

for i in range(3333,9999,1):
    if i%1234==0:
        continue
    if hap+i>100000:
        break
    hap+=i
    
print(hap)
    

# 콜론:을 이용한 범위 지정

aa=[10,20,30,40]
aa[0:3]
 

aa=[10,20,30,40]
aa[3:]  #3번째부터 끝까지 가져오기 
 

aa=[10,20,30,40]
aa[:2]
 

# 리스트의 항목 건너뛰며 추출
aa=[10,20,30,40,50,60]

#앞 2칸씩 건너뛰기
aa[::2]
 

#뒤에서 부터 2칸씩 건너뛰기

aa=[10,20,30,40,50,60]
aa[2::]


#뒤에서부터 순차적으로 
aa=[10,20,30,40,50,60]
aa[::-1]

# 리스트 값의 변경

aa=[10,20,30]
aa[1]=200
aa
 
 

# 리스트 삭제
 
c=[0,1,2,3,4,5]
c[1:3]=[]
c

 

 

 


파이썬 for Beginner Chapter 02 (tistory.com)

 

파이썬 for Beginner Chapter 02

책 "파이썬 for Beginner"의 연습문제를 개인적으로 풀어보고 올린 내용입니다. Chapter 02 연습문제 풀이 1. 다음 중 파이썬 문법이 틀린 것을 모두 고르시오. ⓵ a = 1000 #변수에 대입하는 전형적인 방

bnzn2426.tistory.com

[Book] 파이썬 3에 뛰어들기 :: Outsider's Dev Story

 

[Book] 파이썬 3에 뛰어들기 :: Outsider's Dev Story

작년에 Python을 주로 사용하는 것[스마트스터디로 이직](https://blog.outsider.ne.kr/1233)했다. 난 전에 ASP, Java, JavaScript 등을 했지만 사실 Python은 코드만 가끔 본 거 외에는 실제로 사용해 본 적은...

blog.outsider.ne.kr

 https://m.blog.naver.com/a1122aaaa/222277892203