[실습1] 구구단 19단 출력하기
19 X 1 = 19
19 X 2 = 38 ...
<내 코드>
for i in range(1,20):
result = 19*i
print(f'{19}x{i} = {result}')
<풀이>
for i in range(1,20):
print(f'{19}x{i} = {19*1}')
▶ result로 정의하지 않고 바로 {19*1} 식을 넣으면 더 간단해짐!
[실습2] 아래의 숫자 리스트 nums 에서 10 이상인 숫자만 따로 모아 합계 계산하기 nums = [9, 10, 4, 22, 3, 19]
<내코드>
nums = [9, 10, 4, 22, 3, 19]
sums = 0
for i in nums :
if i>=10 :
sums += i
print(sums)
<풀이>
nums = [9, 10, 4, 22, 3, 19]
sums = 0
for i in nums :
if i>=10 :
sums += i
sums
▶ 나는 반복문 안에서 print(sums)를 넣었는데, 반복문이 끝난 후에 출력이 되도록 해야 합계가 계산되었다.
print함수를 따로 쓰지 않고, sums만 써도 출력됨.
내 결과:
10
32
51
풀이 결과: 51
[실습3] 다음 리스트에 있는 숫자의 누적 합을 출력하세요. 단 *가 나오면 건너뛰고 - 가 나오면 반복을 중지
<내 코드>
nums2 = [1, 2, '*', 4, 5, '*', 7, '-', 9]
sums = 0
for i in nums2 :
if i == '*':
continue
elif i == '-':
break
elif (i,int):
sums += i
print(sums)
<풀이>
sums = 0
for i in nums2 :
if i == '*':
continue
if i == '-':
break
sums += i
print(sums)
▶ 나는 elif를 사용했는데, if문 만으로 구성한 풀이도 가능
결과:
1
3
7
12
19
★[실습4] 다음 리스트 안에 입력된 이름으로 Customer 인스턴스를 생성하세요. 이때 for문 안에서 Customer 인스턴스가 생성되고 고객 번호는 1씩 증가하는 순서입니다.
<내코드>
names = ['김입금','나은행','최대출','신한나','국민협']
customers = []
for i, name in enumerate(names, start=1):
customers.append(Customer(name, i))
for customer in customers:
print(f"Customer ID: {customer.c_id}, Name: {customer.name}, Amount: {customer.get_amount()}")
<풀이>
names = ['김입금','나은행','최대출','신한나','국민협']
for i, n in enumerate(names): #n에 이름이 들어감
c=Customer(n,i)
print(c.name)
내 결과:
Customer ID: 1, Name: 김입금, Amount: 0
Customer ID: 2, Name: 나은행, Amount: 0
Customer ID: 3, Name: 최대출, Amount: 0
Customer ID: 4, Name: 신한나, Amount: 0
Customer ID: 5, Name: 국민협, Amount: 0
풀이 결과:
김입금
나은행
최대출
신한나
국민협
★ [실습5] for문을 두번 중첩하여 1~47번중 6개의 번호를 뽑는 로또 번호를 5개 생성하여 출력하세요 (숫자 중복 상관없음)
random 모듈
random 모듈의 randint() 함수를 활용하여 랜덤 숫자 생성
randint(s,e): s~e 사이의 랜덤한 수 생성
<내 코드>
import random
for i in range(5):
lotto_numbers = []
for j in range(6):
number = random.randint(1, 47)
lotto_numbers.append(number)
print(f"{i+1}번째 로또 번호: {lotto_numbers}")
<풀이>
import random
for i in range(5):
print('----')
for j in range(6):
pick = random.radint(1,47)
print(pick)
내 결과 :
1번째 로또 번호: [35, 42, 44, 26, 30, 14]
2번째 로또 번호: [13, 18, 43, 13, 10, 35]
3번째 로또 번호: [16, 31, 46, 42, 28, 45]
4번째 로또 번호: [31, 46, 10, 45, 40, 42]
5번째 로또 번호: [30, 32, 10, 31, 43, 23]
풀이 결과:
35
42
44
26
30
14
----
18
13
43
13
10
35
----
...
▶ 이건 내가 리스트에 넣어서 더 보기 깔끔하게 결과가 출력된 것 같다!
'데이터 분석 > Python' 카테고리의 다른 글
[실습] 데이터 구조 (0) | 2025.01.07 |
---|---|
[이론] 데이터 구조- 튜플, 문자열, 해쉬셋, 딕셔너리 (1) | 2025.01.07 |
[이론] 데이터 구조- 리스트, 인덱싱, 슬라이싱 (2) | 2025.01.06 |
[이론] if 조건문, for반복문, 반복 제어 (2) | 2025.01.06 |
[실습] 함수와 객체 (3) | 2025.01.06 |