Tech for good

[파이썬/Python] CodeUp 파이썬 기초 100제 6080 - 6082 본문

IT/Computer Science

[파이썬/Python] CodeUp 파이썬 기초 100제 6080 - 6082

Diana Kang 2022. 4. 10. 20:15

6080 : [기초-종합] 주사위 2개 던지기

  • 1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때, 나올 수 있는 모든 경우를 출력해보자.

 

예시
...
for i in range(1, n+1) :
  for j in range(1, m+1) :
    print(i, j)
...

 

참고
위 코드는
바깥쪽의 i 값이 1부터 n까지 순서대로 바뀌는 각각의 동안에
안쪽의 j 값이 다시 1부터 m까지 변하며 출력되는 코드이다.

조건선택 실행구조 안에 다른 조건선택 실행구조를 넣어 처리할 수 있는 것과 마찬가지로
반복 실행구조 안에 다른 반복 실행구조를 넣어 처리할 수 있다.

원하는 형태로 실행 구조를 결합하거나 중첩시킬 수 있다.

 

입력
서로 다른 주사위 2개의 면의 개수 n, m이 공백을 두고 입력된다.
단, n, m은 10이하의 자연수

출력
나올 수 있는 주사위의 숫자를 한 세트씩 줄을 바꿔 모두 출력한다.
첫 번째 수는 n, 두 번째 수는 m으로 고정해 1부터 오름차순 순서로 출력하도록 한다.

입력 예시
2 3

출력 예시
1 1
1 2
1 3
2 1
2 2
2 3
while True:
    n,m = map(int, input().split())
    
    n <= 10
    m <= 10

    for i in range(1, n+1):
        for j in range(1, m+1):
            print(i,j)

 

* 복습 참고

https://dojang.io/mod/page/view.php?id=2179 

 

파이썬 코딩 도장: 6.4 입력 값을 변수 두 개에 저장하기

지금까지 input 한 번에 값 하나만 입력받았습니다. 그럼 input 한 번에 값을 여러 개 입력받으려면 어떻게 해야 할까요? 이때는 input에서 split을 사용한 변수 여러 개에 저장해주면 됩니다(각 변수

dojang.io

 

 

6081 : [기초-종합] 16진수 구구단 출력하기

  • 16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운 영일이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.

 

A, B, C, D, E, F 중 하나가 입력될 때, 1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자. (단, A ~ F 까지만 입력된다.)

 

예시
...
  print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')
...

참고
print('%X'%n)    #n에 저장되어있는 값을 16진수(hexadecimal) 형태로 출력
작은 따옴표 2개를 사용해서 print(..., sep='') 으로 출력하면, 공백없이 모두 붙여 출력된다.
작은 따옴표 2개 '' 또는 큰 따옴표 2개 "" 는 아무 문자도 없는 빈문자열(empty string)을 의미한다.

입력
16진수로 한 자리 수가 입력된다.
단, A ~ F 까지만 입력된다.

출력
입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다.
계산 결과도 16진수로 출력해야 한다.

입력 예시
B

출력 예시
B*1=B
B*2=16
B*3=21
B*4=2C
B*5=37
B*6=42
B*7=4D
B*8=58
B*9=63
B*A=6E
B*B=79
B*C=84
B*D=8F
B*E=9A
B*F=A5
while True:
    # 16진수 입력은 int(n,16) 이렇게 int의 두 번째 인자에 원하는 진수를 적으면 된다.
    n = int(input(),16)
    
    for i in range(1,16):
        #print('%X' %n) # n에 저장되어 있는 값을 16진수 대문자 형태 문자열로 출력
        print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')

 

 

6082 : [기초-종합] 3 6 9 게임의 왕이 되자

  • 친구들과 함께 3 6 9 게임을 하던 영일이는 잦은 실수 때문에 계속해서 벌칙을 받게 되었다. 3 6 9 게임의 왕이 되기 위한 369 마스터 프로그램을 작성해 보자.

 

** 3 6 9 게임은?
여러 사람이 순서를 정한 후, 순서대로 수를 부르는 게임이다.
만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이라면, 수를 부르는 대신 "박수(X)" 를 쳐야 한다.
33과 같이 3,6,9가 두 번 들어간 수 일때, "짝짝"과 같이 박수를 두 번 치는 형태도 있다. 

참고 
...
for i in range(1, n+1) :
  if i%10==3 :
    print("X", end=' ')    #출력 후 공백문자(빈칸, ' ')로 끝냄
...

 

입력
30 보다 작은 정수 1개가 입력된다.
(1 ~ 29)

출력
1 부터 그 수까지 순서대로 공백을 두고 수를 출력하는데,
3 또는 6 또는 9가 포함 되어있는 수인 경우, 그 수 대신 영문 대문자 X 를 출력한다.

입력 예시
9

출력 예시
1 2 X 4 5 X 7 8 X
n = int(input())
n < 30

for i in range(1, n+1):
    if (i%10==3 or i%10==6 or i%10==9):
        print("X", end=' ')  #출력 후 공백문자(빈칸, '')로 끝냄
    else:
        print(i, end=' ')