Language/Python

[ Python ] 랜덤으로 뽑힌 두 수 출력 프로그램

곽수진 2021. 8. 27. 15:54
반응형
하나는 1~10, 다른 하나는 30~50 중 하나를 랜덤으로 결정해 두 수 사이의 모든 수를 더하여 합을 출력하는 프로그램을 작성해보자.

 

import random

num1 = random.randint(1,10)
num2 = random.randint(30,50)
sum1 = 0

for i in range(num1, num2+1):
    sum1 += i

print("%s~%s까지의 총합은 %s"%(num1, num2, sum1))

 

결과값 출력 모습

 

range(num1, num2+1) : num1 부터 num2까지 범위를 정하기 위해서는 num2에 1을 더해줘야 함

▶ sum1에는 반복문으로 저장된 i의 값이 모두 더해짐

 

 


 

 

랜덤으로 뽑힌 두 수 사이에 있는 수들 중 사용자가 입력한 수의 배수에 해당하는 수들을 모두 출력하는 프로그램을 작성해보자.

 

Ex. 수 입력: 3
9, 12, 15, ...
8~30 총합

 

import random
n = int(input("수 입력: "))

num1 = random.randint(1,10)
num2 = random.randint(30,50)
sum1 = 0

for i in range(num1, num2+1):
    if i % n == 0:    # n의 배수인지 확인
        print("%s "%(i), end="")
    sum1 += i
print()
print("%s~%s까지의 총합은 %s"%(num1, num2, sum1))

 

결과값 출력 모습

 

 


 

 

랜덤으로 10~100 사이의 수 2개를 결정해 두 수 사이에 있는 수들을 화면에 출력하며, 출력할 때는 잘 정렬해서 한 라인에 5개씩 출력하는 프로그램을 작성해보자.

 

Ex1. 랜덤 값이 동일하다.

Ex2. 15~25가 나왔다고 가정
15 16 17 18 19 20 21 22 23 24 25

 

import random

num1 = random.randint(10,100)
num2 = random.randint(10,100)
cnt = 0

if num1 != num2:
    if num1 > num2:  # n1이 더 크면 n1과 n2 값을 교환한다.
        temp = num1
        num1 = num2
        num2 = temp
    for i in range(num1, num2+1):
        print("%4s"%(i), end="")
        cnt += 1
        if cnt % 5 == 0:
            print()

    print()
else:
    print("랜덤 값이 %s로 동일하다."%(num1))

 

결과값 출력 모습

 

결과값 출력 모습

 

▶ num1과 num2 사이의 값을 모두 출력할 때, num1이 더 크면 num1과 num2값을 바꿔줌

temp = num1
num1 = num2
num2 = temp

▶ cnt의 초기값은 0으로 5로 나누어 떨어질 때는 다음 줄로 넘어가도록 생성함

cnt = 0
...
if cnt % 5 == 0:
print()

 

반응형