Q11.
나의 코드 :
import sys
정답 :
1. sys 모듈
import sys
sys.path.append("c:/doit")
import mymod
2. PYTHONPATH 환경 변수 사용하기
>set PYTHONPATH=c:\doit
>python
>>>import mymod
3. 현재 디렉터리 사용하기
>cd c:\doit
>python
>>>import mymod
Q12.
나의 풀이 :
7이 출력될 것이다.
[1, 2, 3][3]으로 인해 IndexError가 일어나 +3이 되고,
finallu로 +4가 되어 7이 된다.
정답 :
- result의 초깃값은 0이다.
- try문 안의 [1, 2, 3,][3] 이라는 문장 수행 시 IndexError가 발생하여 except IndexError 구문으로 이동하게 되어 result에 3이 더해져 3이 된다.
- 최종적으로 finally 구문이 실행되어 result에 4가 더해져 7이 된다.
- print(result) 가 수행되어 result의 최종 값인 7이 출력된다.
Q13.
나의 코드 :
#arr = input()
arr = "4546793"
oriStr = list(map(int, arr))
newStr = []
for i, n in enumerate(oriStr):
tmp = str(n)
newStr.append(tmp)
if i < len(oriStr) - 1:
if n % 2 == 1:
odd = 1
else:
odd = 0
if oriStr[i + 1] % 2 == 1:
nOdd = 1
else:
nOdd = 0
if odd == 1 and nOdd == 1:
newStr.append("-")
if odd == 0 and nOdd == 0:
newStr.append("*")
print("".join(newStr))
계속 시도해봐도 잘 안풀려서 정답을 본 후 다시 풀어보았다.
정답 :
data = "4546793"
numbers = list(map(int, data))
result = []
for i, num in enumerate(numbers):
result.append(str(num))
if i < len(numbers) - 1:
is_odd = num % 2 == 1
is_next_odd = numbers[i+1] % 2 == 1
if is_odd and is_next_odd:
result.append("-")
elif not is_odd and not is_next_odd:
result.append("*")
print("".join(result))
Q14.
나의 코드 :
arr = "aaabbcccccca"
nArr = []
before = arr[0]
cnt = 0
for a in arr:
if before != a:
nArr.append(before)
nArr.append(str(cnt))
before = a
cnt = 1
else:
cnt += 1
nArr.append(a)
nArr.append(str(cnt))
print("".join(nArr))
정답 :
def compress_string(s):
_c = ""
cnt = 0
result = ""
for c in s:
if c!=_c:
_c = c
if cnt: result += str(cnt)
result += c
cnt = 1
else:
cnt += 1
if cnt: result += str(cnt)
return result
print(compress_string("aaabbcccccca"))
Q15.
나의 코드 :
def dupNum(arr):
nArr = []
for a in arr:
if a not in nArr:
nArr.append(a)
else:
return False
return True
print(dupNum("0123456789"))
print(dupNum("01234"))
print(dupNum("01234567890"))
print(dupNum("6789012345"))
print(dupNum("012322456789"))
계속 시도해봐도 잘 안풀려서 정답을 본 후 다시 풀어보았다.
정답 :
def chkDupNum(s):
result = []
for num in s:
if num not in result:
result.append(num)
else:
return False
return len(result) == 10
print(chkDupNum("0123456789"))
print(chkDupNum("01234"))
print(chkDupNum("01234567890"))
print(chkDupNum("6789012345"))
print(chkDupNum("012322456789"))
'공부 > 파이썬' 카테고리의 다른 글
[파이참/Pycharm] parameters/argument(args) 입력받는 방법 (0) | 2024.11.04 |
---|---|
[점프 투 파이썬] - 파이썬 초보 탈출 (16 ~20) (0) | 2023.08.01 |
[점프 투 파이썬] - 파이썬 초보 탈출 (6 ~ 10) (0) | 2023.07.16 |
[점프 투 파이썬] - 파이썬 초보 탈출 (1 ~ 5) (0) | 2023.07.14 |
[점프 투 파이썬] - 7장 정규 표현식 살펴보기 (0) | 2023.07.13 |