728x90
반응형
1.
def square(n):
return n ** 2
print('3의 제곱은 : ', square(3))
print('4의 제곱은 : ', square(4))
2.
def max2(m, n):
if m > n:
return m
else:
return n
def min2(m, n):
if m < n:
return m
else:
return n
print('100과 200중 큰 수는 :', max2(100, 200))
print('100과 200중 작은 수는 :', min2(100, 200))
3.
def max3(a, b, c):
if a > b:
if a > c:
return a
else:
return c
else:
if b > c:
return b
else:
return c
def min3(a, b, c):
if a < b:
if a < c:
return a
else:
return c
else:
if b < c:
return b
else:
return c
a, b, c = input("3 수를 입력하시오 :").split(" ")
a = int(a)
b = int(b)
c = int(c)
print('가장 큰 수는 :', max3(a, b, c))
print('가장 작은 수는 :', min3(a, b, c))
int()는 리스트가 안된다 아마도 3개를 받는건 리스트로 받는건가 봄 string, 바이트나 숫자만 가능한듯
[파이썬] TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
두 개의 정수값을 입력받으려고 input(""). split()으로 문자열을 받고 이 것을 int()로 묶어서 형변환을 시키려 했더니 num, num2 = int(input("").split()) >> 2 10 TypeError: int() argument must be a string, a bytes-like objec
reddot.kr
4.
def max_and_min(n1, n2, n3):
if a > b:
if a > c:
if b > c:
return a, b
else:
return a, c
else:
return c, b
else:
if b > c:
if a > c:
return b, c
else:
return b, a
else:
return c, a
a, b, c = input("3 수를 입력하시오 :").split(" ")
a = int(a)
b = int(b)
c = int(c)
max, min = max_and_min(a, b, c)
print('가장 큰 수는 :',max)
print('가장 작은 수는 :', min)
5.
def cel2fah(cel):
fah = (9/5) * cel + 32
return fah
for i in range(0, 6):
i10 = i * 10
print("섭씨온도", i10, "도:", cel2fah(i))
6.
#소수를 저장해놓지 않으면 성능이 너무 느려지기 때문에 저장
PrimeDic = [] # 소수를 저장할 리스트
def is_Prime_core(n): #소수를 판별해주는 코어, 만약 들어온 수가 소수라면 추가함
i = 0 # 소수를 0부터 나누어야 하기에
sw = True # 소수 판별 스위치
while (n//2) > PrimeDic[i]: #n이 소수사전의 수 보다 크면 반복
r = (n//2) % PrimeDic[i] #나눠서 나온 나머지로 소수를 판독하기 위해 reader(판독기)의 약자
if r == 0: #만약 나누었을 때 0이라면 소수가 아니므로
sw = False
return sw
break;
i += 1
PrimeDic.append(n) #소수 추가
return sw
def is_Prime(n): #들어온 수의 1/2이 소수사전에 있는지 검사 후 없으면 코어로 보내서 n/2까지 소수 검사를 하고 사전에 추가
if len(PrimeDic) == 0: #PrimeDic이 오류 안나게 추가 시켜주기 근데 이건 사실 처음부터 넣어줘도 될 일이긴 함
PrimeDic.append(2)
PrimeDic.append(3)
PrimeDic.append(5)
PrimeDic.append(7)
PrimeDic.append(11)
PrimeDic.append(13)
PrimeDic.append(17)
if n//2 > PrimeDic[-1]: #소수사전에 수가 있는지 검사
itr = PrimeDic[-1] +1 #마지막 수부터 n/2까지 검사해줄 이터레이터?
while itr <= (n//2): # 참고로 //을 쓰는 이유는 0.5 이런 소수점 때문에 while문이 한번 더 돌아서 out of range가 뜨는 것을 막기 위해
is_Prime_core(itr)
itr += 1
value = is_Prime_core(n) #True인지 False인지 받기 위해서
return value
while True:
n = int(input("소수 검사를 할 정수를 입력하시오: "))
print("소수인가요? ", is_Prime(n))
솔직히 말하면 이거 보다 더 쉽게 짤 수 있는데 계속 나누면 비효율적이라 생각해서 한번 이렇게 짜봤는데...
걍 정석으로 짜는게 더 빠르다 걍 단순 계산은 이렇게 하는게 나을듯 계속 함수를 불러오고 하는게 더 오래걸리는 거 같다
def is_prime(x):
for i in range(2, x): # 2부터 x-1까지 아래를 반복한다.
if num % i == 0: # 2부터 x-1까지 나누었을 때 나머지가 0이면 False를 반환
return False
else: # 아니면 반복을 계속한다.
continue
return True # 나머지가 0이 되는 수가 없으면 True를 반환한다.
num = int(input('소수 검사를 할 정수를 입력하시오 : '))
print('소수인가요? :', is_prime(num))
7.
def factorial(n):
f = 1
for i in range(1, n+1):
f = f * i
return f
print("5!의 값은 ",factorial(5))
print("7!의 값은 ",factorial(7))
print("10!의 값은 ",factorial(10))
8.
def distance(x1, y1, x2, y2):
dist = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** (1/2)
return dist
x1 = float(input("x1: "))
y1 = float(input("y1: "))
x2 = float(input("x2: "))
y2 = float(input("y2: "))
print("(", x1, ",", y1, ")과","(", x2, ",", y2, ") 사이의 거리는 ", distance(x1, y1, x2, y2), sep = "")
728x90
반응형
'코딩의 기록' 카테고리의 다른 글
따라하며 배우는 파이썬과 데이터과학 7장 심화문제 (0) | 2025.01.20 |
---|---|
따라하며 배우는 파이썬과 데이터 과학 -7.데이터를 리스트와 튜플로 묶어보자- (0) | 2025.01.18 |
따라하며 배우는 파이썬과 데이터과학 -6. 함수로 일처리를 짜임새있게 하자 (0) | 2025.01.13 |
따라하며 배우는 파이썬과 데이터과학 5장 심화문제 (0) | 2025.01.09 |
따라하며 배우는 파이썬과 데이터과학 - 5.여러 번 반복하는 일을 하자 (0) | 2025.01.06 |