[프로그래밍 언어]/python

따라하며 배우는 파이썬과 데이터 과학(개정판)_ch3 문제풀이

우당탕탕 개발 일지 2024. 3. 20. 00:27

안녕하세요. 우당탕탕 개발일지입니다.

따라 하며 배우는 파이썬과 데이터 과학(개정판)_ch2 심화문제 풀이만 적혀 있습니다. 개념을 알고 싶은 학생은 신속히 뒤로 가주세요.

2024.01.08 - [[프로그래밍 언어]/python] - 두근두근 파이썬(개정판)_ch3 수식, 연산자

 

두근두근 파이썬(개정판)_ch3 수식, 연산자

안녕하세요. 우당탕탕 개발 일지입니다. 파이썬 에디터 IDLE 3.12.1을 사용합니다. 책과 수업 내용을 바탕으로 요약한 내용과 교재 뒤 연습문제입니다. (주의: 책에서 다루지 않아 기재하지 않은 연

hansol2124.tistory.com

 

 

 

심화문제 

3.1

import math

for a in range(1,7):
    a+=1
    print(a,'의 제곱근=',math.pow(a,1/2))

3.2

♧ **은 지수 연산자입니다. 연산 우선순위가 가장 높습니다. 

print('a','','n','','a**n')
for a in range(1,7):
    a+=1
    n=2
    print(a,'',n,'',a**n)

 

3.3

for a in range(0,10):
    a+=1
    print(2<<a-1)

3.4

  bool()함수는 0일 때 False, 0이 아닌 모든 값에 Ture라고 응답합니다.

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

if(x>=0 and x<=100):
    print("입력된 정수는 0에서 100의 범위 안에 있는 짝수인가요?" )
    if (x%2==0):
        print(bool(x))
    else:
        print(bool(0))
else:
    print(bool(0))

3.5

  bin()함수를 사용하면 변수의 값을 binary(이진수)로 바꿔준다.

이쯤에서 2의 보수법이 뭔지 비트연산이 어떤 원리인지 익혀 두고 가면 좋습니다.

a = 5
b = 6

print(bin(a), '&', bin(b), '=', bin(a & b))
print(bin(a), '|', bin(b), '=', bin(a | b))
print(bin(a), '^', bin(b), '=', bin(a ^ b))

3.6

  /와 //을 구분 합시다.

//은 몫만 출력해 주는 연산자로 나눗셈의 정수타입 버전이라고 생각해도 이해하기 편합니다. 

a=int(input("정수 a를 입력하시오:"))
b=int(input("정수 b를 입력하시오:"))

print('a/b의 몫:',a//b)
print('a/b의 나머지 :',a%b)

3.7

a=int(input("세자리 정수를 입력하시오:"))

if(a>=100 and a<1000):
    print("백의 자리:", a//100)
    print("십의 자리:", (a%100)//10)
    print("일의 자리", (a%100)%10)
        

else:
    print("세자리 숫자가 아닙니다.")

3.8

1)

a=int(input("세자리 정수를 입력하시오:"))

if(a>=100 and a<1000):
    
    print((a%100)%10)
    print((a%100)//10)
    print(a//100)
        

else:
    print("세자리 숫자가 아닙니다.")

 

2)

a=int(input("세자리 정수를 입력하시오:"))

if(a>=100 and a<1000):
    hundred=((a%100)%10)*100
    set_of_ten=((a%100)//10)*10
    digit=a//100
    
    print(hundred +set_of_ten+digit)
    
else:
    print("세자리 숫자가 아닙니다.")

3.9

 float에서 int를 빼서 계산한  변수 b는 다른 언어에서 type error가 발생할 수도 있다. 

x=float(input("평균 시속(k/m)를 입력하세오:"))
y=float(input("이동시간(h)를 입력하세요:"))

print("평균 시속:%0.1f km/h" %(x))  #문자열에 변수 값을 포함하는 방법: %(포맷)연산자 이용
a=int(y) 
b=(y-a)*60
c=(b-int(b))*60

print("이동시간:%d시 %d분 %d초" %(a,b,c))
print("이동거리:%0.3f km" %(x*y))

3.10

x1=int(input("x1의 좌표를 입력하시오:"))
y1=int(input("y1의 좌표를 입력하시오:"))

x2=int(input("x2의 좌표를 입력하시오:"))
y2=int(input("y2의 좌표를 입력하시오:"))

d=((x2-x1)**2 +(y2-y1)**2)**0.5
print("두점 사이의 거리:%0.1f" %(d))

3.11

import math 

x1=int(input("x1의 좌표를 입력하시오:"))
y1=int(input("y1의 좌표를 입력하시오:"))

x2=int(input("x2의 좌표를 입력하시오:"))
y2=int(input("y2의 좌표를 입력하시오:"))

line1=x2-x1
math.fabs(line1)
line2=y2-y1
math.fabs(line2)

area=(line1*line2)*1/2
print("직각 삼각혀의 면적은:%0.1f" %(area))

3.12

import math 

PI=math.pi


s=13
print("1) 모서리의 길이가 %d인 정육면체  부피:%d " %(s, s**3))

s=22
print("2) 모서리의 길이가 %d인 정육면체 부피:%d" %(s,s**3))

w,h,l=17,25,16
print("3) 가로,세로,길이가 각각 %d,%d,%d인 직육면체 부피:%d" %(w,h,l,w*h*l))

r,h=10,15
print("4)반지름과 높이가 각각 %d,%d인 원뿔 부피:%0.1f" %(r,h,1/3*PI*h*r**2))

r=25
print("5)반지름이 %d인 구 부피:%0.1f" %(r,4/3*r**3*PI))

r,h=10,15
print("6)반지름과 높이가 각각 %d,%d인 원기둥 부피:%0.1f" %(r,h,r**2*PI*h))

 

 

 

 

 

728x90