2021. 3. 23. 21:49ㆍProgramming Language/.py
백준 문제를 살펴보면,
입력에 두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000) 라는 제한 조건이 있다.
이 조건을 해결하면서 출력을 받으려면 어떻게 해야할까?
파이썬 문법을 배운지 오래되었기에 간단한 문제도 설계가 오래 걸린다..
구현하고 싶은 조건은 아래와 같다
1. a와 b는 자연수여야 한다
2. a와 b는 10000을 넘지않아야 한다
3. 두 조건을 만족하지 못하면, "입력한 a와 b가 조건을 충족하지 못함"을 출력하고 종료.
1트
a = int(input())
b = int(input())
if a < 1 && b > 10000:
break
else:
continue
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
// a와 b 모두에 해당하는 조건을 사용하지 못했음
// pass 대신 break를 사용해서 구문 오류 발생
// continue 또한 if문에 쓰이지 않음
2트
a = int(input())
b = int(input())
if a < 1 or a > 10000 or b < 1 or b >10000:
print("a,b가 자연수 조건을 충족하지 못했음")
else:
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
"""
또는 조건을 충족하는 경우로 if문을 사용해 보자.
if a > 1 and a < 10000 and b > 1 and b >10000:
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a%b)
"""
if( ) 괄호 조건안에 모든 것을 다 때려박은 형태..
나눗셈의 결과값의 자릿수 처리가 신경쓰이지만 괜찮은 것 같다.
그래서 제출해 보았다!
그리고 나타난 런타임 에러 ...
무슨 일인지 잘 모르겠다. 왜이럴까?싶어서 구글링해보았다
그리고 참조한 다른 사람의 코드를 보고 온 결과, 다수의 사람들이 input을 받을 때 map을 이용하는 것을 발견했다.
dojang.io/mod/page/view.php?id=2286
3트
a,b = map(int,input().split())
print(a+b)
print(a-b)
print(a*b)
print(int(a/b)) #정수형 자료 출력
print(a%b)
결과
a,b = map(int,input().split())
#if a > 1 and a < 10000 and b > 1 and b >10000:
print(a+b)
print(a-b)
print(a*b)
print(int(a/b)) #정수형 자료 출력
print(a%b)
if조건 두가지 방법으로 성공..
'Programming Language > .py' 카테고리의 다른 글
[백준] 2075번 : N번째 수 파이썬 (0) | 2022.07.26 |
---|---|
[Python] input()대신 sys.stdin.readline()을 사용해보자 (0) | 2021.07.24 |
[Python] boj 10951 , A + B - 4 (0) | 2021.05.13 |