데이터분석

[23.06.02] Python for, while - 03(1)

gmwoo 2023. 6. 2. 11:29

1. for

예제 1) for 동작 원리

# list에 데이터를 담아두고 리스트에 있는 데이터의 합과 평균 구하기
nums = [1,2,7,11,23,4,5,8,9,12]

# 배열에 있는 데이터들의 합 구하기 
# 0+1+2+7+... 누적
sum = 0 # 누적을 받을 변수의 값을 0으로 놓음

sum = sum + nums[0]
sum = sum + nums[1]
sum = sum + nums[2]
sum = sum + nums[3]
sum = sum + nums[4]

sum = 0
# sum = sum +num[1]

for i in range(0, len(nums)):
    sum = sum + nums[i]
print("합계: ", sum)

sum = 0 
for num in nums:
    sum = sum + num
print("합계: ", sum)

 

2. while

 - for 와 비슷한 원리이며 반복문이라고 함

 - 형태 -> while <조건문>:

예제 1) while 기본 구조

i=0
sum=0
while sum<1000:
    i = i + 1
    sum = sum + i
print(i, sum)

 

문제 1)

# 정수를 입력받는다.
# 음수가 입력될때까지 양의 정수나 0을 입력받아 합계와 평균을 구하자

nums = []

num = int(input("정수 입력: "))
while num>=0:
    nums.append(num)
    num = int(input("정수 입력: "))
print(nums)
sum = 0
for i in range(0, len(nums)):
    sum = sum + nums[i]
print(f"합계: {sum}, 평균: {sum/len(nums)}")

 

문제 2)

# 문제: 정수를 음수가 입력될 때까지 입력을 받아서
# 각각 짝수와 홀수를 구분해서 짝수의 합계와 홀수의 합계 출력
# 각각 짝수와 홀수를 구분해서 다른 리스트에 담아 한 번에 출력

nums = []
lst_even = []
lst_odd = []
sum_even = 0
sum_odd = 0

# 음수가 나올 때 까지 nums 리스트에 정수 입력
num = int(input("정수 입력: "))
while num>=0:
    nums.append(num)
    num = int(input("정수 입력: "))
print(nums)

# 리스트 내 짝수와 홀수 구분해서 합계, 리스트 생성
for x in nums:
    if x%2 == 0:
        sum_even += x  # 짝수의 합계
        lst_even.append(x)  # 짝수 리스트 
    else: 
        sum_odd += x  # 홀수의 합계
        lst_odd.append(x)   # 홀수 리스트
        
print(f"짝수의 합계: {sum_even}, 홀수의 합계: {sum_odd}")
print(f"짝수 리스트: {lst_even}, 홀수 리스트: {lst_odd}")

 

반응형