* 16진수 입력받기, 16진수 구구단
- 16진수 입력은 int(n,16) 이렇게 int의 두 번째 인자에 원하는 진수를 적으면 된다.
- 16진수 출력은 print('%X' %n) 으로 할 수 있다. 이는 n의 값을 X로 16진수로 변환해서 출력한다는 의미이다.
[ 코드 ]
n=input() n=int(n,16) for i in range(1,16): # '%X'는 16진수로 출력한다는 의미 # sep=''을 추가하면 공백 없이 출력됨(B*4=2C) print('%X' %n, '*%X' %i, '=%X' %(n * i), sep='')
[ 결과 ]
B를 입력하면 다음과 같이 B의 15단이 나온다 :)
(참고) codeup.kr/problem.php?id=6081
* 한 번에 정수로 받기
'2 4 5'이렇게 input()으로 받으면 문자로 받아집니다.
일일이 int()형으로 변경해줘야 하는데 변수가 많아지면 귀찮습니다.
한 번에 변환하기 위해서는 map을 이용하면 됩니다 :)
[ 코드 ]
input().split()으로 공백있는 문자열을 입력받습니다.
그리고 그 각각을 int로 맵핑시켜서 a, b, c에 각각 넣어줍니다.
a,b,c=map(int,input().split())
[ 결과 ]
a,b,c=map(int,input().split()) print(a,b,c) print(a+b)
2와 4가 int형이기 때문에 a+b를 했을 때 6이 나옵니다. (문자라면 24가 나옴)
* 파이썬 자리수 조정(소수점 조절)
소수 둘째자리까지 표현할 때
round(숫자,2)
[ 이용 코드 ]
h,b,c,s=map(int,input().split()) val=h*b*c*s byte=val/8 mb=byte/1024/1024 print(mb,"MB") print(round(mb,1),"MB")
[ 결과 ]
round를 이용하면 원하는 소수 점 까지 표현이 가능한 것을 알 수 있다.
* 수열문제
처음에는 range(1,n+1)해서 n번 계산을 했다.
하지만 수열은 n-1번째 계산한 값이 n번째 값임을 기억하자!
그리고 만약 n==1이라면 초기값인 a가 나와야 하므로 마지막에 print(a)를 해줬다.
또한 이전 값을 이용해야 하므로 a=answer을 넣어서 돌렸다.
[ 코드 ]
a,m,d,n = map(int,input().split()) #수열은 n-1번 계산해야 n번째 값이 나옴 range(1,n) for i in range(1,n): answer=a*m+d a=answer print(a)
[ 결과 ]
(참고 ) codeup.kr/problem.php?id=6090
※ 제 글이 도움이 되었다면 공감 부탁드려요 :)
'파이썬' 카테고리의 다른 글
[ 미해결 ] 6096 (0) | 2021.04.16 |
---|---|
CodeUp 6083 시간초과 문제 (해결) (0) | 2021.04.14 |
[ Python ] 리스트 추가, 삭제, 슬라이싱 (0) | 2021.04.12 |
[ Python ] 리스트 내 모든 원소, 0이 들어올 때 까지 출력하기 (0) | 2021.04.07 |
[ 파이썬 ] 로그 찍어서 동작 확인 (0) | 2021.04.05 |