[Python] 문자와 숫자가 섞인 데이터 정렬하기 - Kyeom
2022. 10. 21. 18:49ㆍPython/문제풀이
728x90
◉. 16진수 수를 랜덤으로 받아서 오름차순으로 정렬해보자!
알고 있어야 하는 내용
- 함수정의 / def getNum()
- 반복문 / for문
- 리스트 / [ ]
- 16진수 / hex
- .isdigit() / 숫자로만 구성되어 있는지 확인
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import random
from webbrowser import get
def getNum(strData):
numStr = ''
for ch in strData:
if ch.isdigit():
numStr += ch
return int(numStr)
data = []
for i in range(10):
tmp = hex(random.randrange(100000))
tmp = tmp[2:]
data.append(tmp)
print(f"정렬 전 데이터 : {data}")
for i in range(len(data)-1):
for k in range(i+1, len(data)):
if getNum(data[i]) > getNum(data[k]):
data[i], data[k] = data[k], data[i]
print(f"정렬 후 데이터 : {data}")
|
cs |
4~9번줄) 숫자와 문자로 섞여 있는 16진수를 숫자만 뽑는 함수다.
5번줄) numStr을 문자열로 선언(숫자도 문자로 인식해서 저장 가능!)
8번줄) ch가 숫자로만 이루어져있다면 numSrt에 저장!
ch는 strData의 값 한 자 한 자 확인한 다음 return을 통해서 값을 내보낸후 다음 숫자를 확인한다.
13번줄) 16진수를 랜덤으로 불러온다!
20번줄) 4번줄에서 만든 함수를 써보자! 앞에 값(i)과 뒤에 값(k)를 비교한 후 더 크다면 23번줄 코드를 통해서 값의 자리를 바꿔준다!
결과
사실 아직 이해를 완벽하게 하지 못한 상태라서 이해가 안 될수도 있습니다
나름 이해한 대로 적었으니 양해를 바랍니다ㅠ 나중에 수정 할 수 있으면 보충하겠습니다.
728x90
'Python > 문제풀이' 카테고리의 다른 글
[Python] 영단어 프로그램 만들기(윈도 프로그램) - Kyeom (0) | 2022.10.25 |
---|---|
[Python] 날짜 세기 및 요일 구하기 - Kyeom (0) | 2022.10.24 |
[Python]로또 프로그램 만들기 - Kyeom (0) | 2022.10.20 |
[Python] '딕셔너리'를 활용한 음식 궁합 찾아보기 - Kyeom (0) | 2022.10.15 |
[Python] 구구단 - Kyeom (2) | 2022.10.14 |