CodeExcercise 1>
set을 사용하여 로또 번호 추첨처럼 1~45의 숫자 중에서 중복 없이 6개를 뽑는 프로그램을 구현하시오
[Sample Run]
** 로또 추첨을 시작합니다. **
추첨된 로또 번호 --> 2, 6, 8, 27, 32, 41
import random
lotto=set()
while len(lotto) < 6:
num = random.randint(1,45)
lotto.add(num)
lotto_lst = list(lotto)
print("lotto : ",end=""); print(lotto)
lotto_lst.sort()
print("sorted lotto(ASC) : ", end=""); print(lotto_lst)
lotto_lst.sort(reverse=True)
print("sorted lotto(DESC) : ", end=""); print(lotto_lst)
CodeExcercise 2>
4행 3열의 2차원리스트 선언하고 아래의 값으로 초기화 한 후 차례대로 출력한 후 리스트의 모든 값을 더한 결과를 출력하는 프로그램을 작성하시오.
[[3, 5, 9], [2, 11, 5], [8, 30, 10], [22, 5, 1]]
[출력 예]
3 5 9
2 11 5
8 30 10
22 5 1
111
lst2d = [[3, 5, 9], [2, 11, 5], [8, 30, 10], [22, 5, 1]]
total = 0
for lst in lst2d:
for data in lst:
print (data, end=" ")
total += data
print()
print (total)
CodeExcercise 3>
2행 3열 리스트을 두 개 선언하여 각각의 값을 입력 받은 후 두 리스트의 같은 위치끼리 곱하여 새로운 리스트에 저장한 후 출력하는 프로그램을 작성하시오.
[입력 예]
first list
3 6 9
8 5 2
second list
9 8 7
6 5 4
[출력 예]
27 48 63
48 25 8
방법1]
first = [[3, 6, 9],[8, 5, 2]]
second = [[9, 8, 7],[6, 5, 4]]
new_list = [[0, 0, 0],[0, 0, 0]]
for i in range(len(first)): #len(first)는 2
for j in range(len(first[0])): #len(first[0])는 3
new_list[i][j] = first[i][j]* second[i][j]
for i in range(len(first)):
for j in range(len(first[0])):
print(new_list[i][j], end=" ")
print()
방법2]
first = [[3, 6, 9],[8, 5, 2]]
second = [[9, 8, 7],[6, 5, 4]]
new_list = [ ]
for i in range(2):
lst=[]
for j in range(3):
lst.append(first[i][j]* second[i][j])
new_list.append(lst)
for i in range(2):
for j in range(3):
print(new_list[i][j], end=" ")
print()
CodeExcercise 4>
4행 2열의 리스트을 입력받아 가로평균과 세로평균 그리고 전체평균을 출력하는 프로그램을 작성하시오. (소수점 이하는 버림 한다.)
[입력 예]
16 27
39 100
19 88
61 20
[출력 예]
21 69 53 40
33 58
46
lst2d =[[16, 27], [39, 100], [19, 88],[61, 20]]
h_total =[0, 0]
for row in range(len(lst2d)) :
w_total =0
#len(lst2d[0])는 2차원배열내에 1차원배열의 데이터 개수 (열 개수)
for col in range(len(lst2d[0])) :
w_total += lst2d[row][col]
h_total[col] += lst2d[row][col]
print(w_total//len(lst2d[0]), end=" ")
print()
total = 0
for data in h_total:
total += data
print(data//len(lst2d), end= " ") #len(lst2d)는 2차원배열의 행개수
print()
print(total//(len(h_total)*len(lst2d)) )
CodeExcercise 5>
세개의 정수를 입력받아서
세 정수의 곱을 계산하고
계산한 결과에서 0~9의 숫자가 몇개씩 포함되어 있는지 출력하시오
입력 예]
정수1 입력 : 150
정수2 입력 : 266
정수3 입력 : 427
출력 예]
150 X 266 X 427 = 17037300
3 1 0 2 0 0 0 2 0 0
num1 =int( input("정수1 입력 :"))
num2 =int( input("정수2 입력 :"))
num3 =int( input("정수3 입력 :"))
total = num1*num2*num3
print(num1, "X", num2, "X", num3, "=" , total)
num_list = [0,0,0,0,0,0,0,0,0,0]
for ch in str(total):
num_list[int(ch)] +=1
print(num_list)
'파이썬' 카테고리의 다른 글
텍스트 요약(Text Summarization ) (0) | 2023.03.28 |
---|---|
함수 정의 Coding연습 (0) | 2023.03.23 |
제어문, 반복문 Coding 연습3 (0) | 2023.03.23 |
제어문, 반복문 Coding 연습2 (0) | 2023.03.23 |
제어문, 반복문 Coding 연습 (0) | 2023.03.23 |