파이썬 기초

토마스 보젠, 2020년 9월

이 연습은 1장을 보완합니다.

연습

1.

5의 5제곱은 무엇인가요?

# Your answer here.

2.

73을 6으로 나눈 나머지는 얼마입니까?

# Your answer here.

3.

123에는 정수 3이 몇 번 들어가나요? 123을 3으로 나눈 나머지는 얼마입니까?

# Your answer here.

4.

공백 문자를 분할하여 다음 문자열을 목록으로 분할합니다.

s = "MDS is going virtual!"

# Your answer here.

5.

다음 변수가 주어지면:

물건 = "빛"
속도 = 299792458 #m/s

f-문자열을 사용하여 다음을 인쇄하세요.

빛의 속도는 2.997925e+08m/s이다.
# Your answer here.

6.

이 중첩 목록이 주어지면 인덱싱을 사용하여 “MDS”라는 단어를 가져옵니다.

l = [10, [3, 4], [5, [100, 200, ["MDS"]], 23, 11], 1, 7]

# Your answer here.

7.

이 중첩 사전이 주어지면 “MDS”라는 단어를 가져옵니다.

d = {
    "outer": [
        1,
        2,
        3,
        {"inner": ["this", "is", "inception", {"inner_inner": [1, 2, 3, "MDS"]}]},
    ]
}

# Your answer here.

8.

다음 셀이 오류를 반환하는 이유는 무엇입니까?

t = (1, 2, 3, 4, 5)
t[-1] = 6
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-d668dd5b8bda> in <module>
      1 t = (1, 2, 3, 4, 5)
----> 2 t[-1] = 6

TypeError: 'tuple' object does not support item assignment

9.

문자열 방법을 사용하여 이메일에서 웹사이트 도메인을 추출합니다. 예를 들어 "tomas.beuzen@fakemail.com" 문자열에서 "fakemail"을 추출해야 합니다.

email = "tomas.beuzen@fakemail.com"

# Your answer here.

10.

문자열이 포함된 언어 변수가 주어지면 if/elif/else를 사용하여 다음과 같은 프로그램을 작성하세요. - “나는 뱀을 사랑해요!”를 반환합니다. 언어"python"인 경우(모든 종류의 대문자) - “당신은 해적입니까?”를 반환합니다. 언어"R"인 경우(모든 종류의 대문자) - 그렇지 않으면 “언어가 무엇입니까?”를 반환합니다. 언어가 다른 것이라면.

language = "python"

# Your answer here.



솔루션

1.

5의 5제곱은 무엇인가요?

5**5
3125

2.

73을 6으로 나눈 나머지는 얼마입니까?

73 % 6
1

3.

123에는 정수 3이 몇 번 들어가나요? 123을 3으로 나눈 나머지는 얼마입니까?

print(1234 // 3)
print(1234 % 3)
411
1

4.

공백 문자에서 이 문자열을 목록으로 분할합니다.

s = "MDS가 가상으로 전환됩니다!"
s = "MDS is going virtual!"
s.split()
['MDS', 'is', 'going', 'virtual!']

5.

다음 변수가 주어지면:

물건 = "빛"
속도 = 299792458 #m/s

f-문자열을 사용하여 다음을 인쇄하세요.

빛의 속도는 2.997925e+08m/s이다.
thing = "light"
speed = 299792458  # m/s
print(f"The speed of {thing} is {speed:2e} m/s.")
The speed of light is 2.997925e+08 m/s.

6.

이 중첩 목록이 주어지면 인덱싱을 사용하여 “MDS”라는 단어를 가져옵니다.

l = [10, [3, 4], [5, [100, 200, ["MDS"]], 23, 11], 1, 7]
l[2][1][2]
['MDS']

7.

이 중첩 사전이 주어지면 “MDS”라는 단어를 가져옵니다.

d = {
    "outer": [
        1,
        2,
        3,
        {"inner": ["this", "is", "inception", {"inner_inner": [1, 2, 3, "MDS"]}]},
    ]
}
d["outer"][3]["inner"][3]["inner_inner"][3]
'MDS'

8.

다음 셀이 오류를 반환하는 이유는 무엇입니까?

t = (1, 2, 3, 4, 5)
t[-1] = 6
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-20-d668dd5b8bda> in <module>
      1 t = (1, 2, 3, 4, 5)
----> 2 t[-1] = 6

TypeError: 'tuple' object does not support item assignment

튜플은 불변이기 때문입니다!

9.

문자열 방법을 사용하여 이메일에서 웹사이트 도메인을 추출합니다. 예를 들어 "tomas.beuzen@fakemail.com" 문자열에서 "fakemail"을 추출해야 합니다.

email = "tomas.beuzen@fakemail.com"
email.split("@")[-1].split(".com")[0]
'fakemail'

10.

문자열이 포함된 언어 변수가 주어지면 if/elif/else를 사용하여 다음과 같은 프로그램을 작성하세요. - “나는 뱀을 사랑해요!”를 반환합니다. 언어"python"인 경우(모든 종류의 대문자) - “당신은 해적입니까?”를 반환합니다. 언어"R"인 경우(모든 종류의 대문자) - 그렇지 않으면 “언어가 무엇입니까?”를 반환합니다. 언어가 다른 것이라면.

language = "python"
if language.lower() == "python":
    print("I love snakes!")
elif language.lower() == "r":
    print("Are you a pirate?")
else:
    print(f"What is {language}?")
I love snakes!