1번
더보기


Str끼리는 덧셈이 가능하다. 덧셈을 하게 되면 앞 문자열에 뒷 문자열이 그대로 이어진다.
순서대로 따라가보면...
new_str = ""
new_str += s[-1] #s[-1]은 맨 끝 문자인 2, new_str = '2'
new_str += s[0] #s[0]은 첫 문자인 6, new_str = '2'+'6'
new_str += s[4::30] #s[4::30]은 " ", new_str = '26' + ' '
new_str += s[13:10:-1] #s[13:10:-1]은 13번째 문자, 12번째 문자, 11번째 문자를 포함 - new_str = '26 ' + '100'
print(new_str) #26 100
2번
더보기


indent가 잘못 되어있어서 이대로 돌리면 오류가 나는 코드.
아마도 아래의 코드를 의도했을 것이다.
s1 = "mit u rock"
s2 = "i rule mit"
if len(s1) == len(s2):
for char1 in s1:
for char2 in s2:
if char1 == char2:
print("common letter")
break
첫 번째 if 구문은 어차피 True니까 볼 필요가 없다. 그 밑에 있는 이중 for 문을 살펴보면
s1에 있는 각각의 문자들에 대해서,
's2의 문자 하나하나와 대조해서, 일치하면 "common letter"를 출력하고 / 다음 문자로 넘어가라 (break)
라는 뜻이 된다.
s1의 문자들중 'm', 'i', 't', ' ', 'u', ' ', 'r' 의 7개 문자가 s2에 있으므로 common letter은 총 7번 출력된다.
'MIT challenge > 6.0001 - 파이썬을 통한 컴퓨터과학 입문' 카테고리의 다른 글
4강 In-class Questions (0) | 2023.01.13 |
---|---|
4강 - Decomposition, Abstraction, and Functions (0) | 2023.01.13 |
3강 - String Manipulation, Guess and Check, Approximations, Bisection (0) | 2022.11.26 |
1, 2강 In-class Questions (0) | 2022.11.25 |
2강 - Branching and Iteration (0) | 2022.11.24 |