데이터분석
[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}")

반응형