5장 클래스 + baekjoon
공부하다 의문 하나
print(__name__)
이렇게 하면 결괏값이 __main__이다.
왜지
print('__name__') 했으면 그대로 나왔겠지
걍 지정된 값인가
행동은 함수
상태는 변수
10172번: 개
문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...
www.acmicpc.net
print('''|\_/|
|q p| /}
( 0 )"""\\
|"^"` |
||_/=\\\\__|''')
결괏값
안에 """을 문자열로 출력하고 싶으면 /로 묶거나 문자 전체를 '''로 감싸야 함
\(역슬래시) 하나만 있으면 특수문자로 인식되서 그대로 출력되지 않음
역슬래시를 그대로 출력하고 싶으면 역슬래시하나당 열슬래시 두개를 써야 함
Q : 첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
A :
a = input().split(' ')
q = (int(a[0]) + int(a[1])) % int(a[2])
print(q)
w = ((int(a[0]) % int(a[2])) + (int(a[1]) % int(a[2]))) % int(a[2])
print(w)
e = (int(a[0]) * int(a[1])) % int(a[2])
print(e)
r = ((int(a[0]) % int(a[2])) * (int(a[1]) % int(a[2]))) % int(a[2])
print(r)
2588번: 곱셈
첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.
www.acmicpc.net
Q :
a = input()
b = input().split()
q = int(input(a[0])) * int(input(b[2]))
w = int(input(a[0])) * int(input(b[1]))
e = int(input(a[0])) * int(input(b[0]))
print(q)
print(w)
print(e)
오류남..
내 생각에 a는 하나밖에 없기 때문에 int(input(a))로 하면 될거라 생각했는데 안돼서 수정했는데도 안됨
왜지
helper 답변
split()안에 공백이 있으면 안됨. 그래서 오류난 것
문자열 인덱싱을 활용해서 풀어라
다시 고민 중...
수정 1
a = input()
b = input()
q = int(input(a[:])) * int(input(b[2]))
w = int(input(a[:])) * int(input(b[1]))
e = int(input(a{:})) * int(input(b[0]))
print(q)
안됨...결과가 뭔가 이상함.....왜지....
->a = input()
=> input 결과값을 a에 넣는다
a[0]
=> a의 0번째 인덱스를 가져온다
input(a[0])
=> a의 0번째 인덱스를 출력하고, 사용자 입력을 받는다
라고 함
그래서 당연히 실패한 것
저 코드에서는 input만 8개임
아래 코드와 비교하면 알 수 있음
성공!!!
a = int(input())
b = input()
m1 = a * int(b[2])
print(m1)
m2 = a * int(b[1])
print(m2)
m3 = a * int(b[0])
print(m3)
result = int(m1) + int(m2) * 10 + int(m3) * 100
print(result)
성공한 것 이유는 알겠는데 수정1은 왜 오류난건지 모르겠다(이제 알았음 가르침을 받음)
일단 오늘은 끝!!!!!!!!!!!!!