본문 바로가기
Python/기본 문법

Python 문제 풀이 ) 난수 생성&맞추기 / 야구게임 / 입력받은 값 합계, 평균 구하기

by 빵으니 2020. 5. 22.

문제 1) 랜덤 숫자를 생성해 사용자가 입력한 값과 비교하기

 

문제 2) 야구게임

 

 

* 두 게임의 소스코드

# 문제 1) 컴퓨터가 랜덤 숫자 1개 내면(0~99) 맞추는 게임
# 커요 작아요 말해주기
from random import randint
com = int(randint(0, 99))
print(com)
count = 0
while True:
    user = int(input('숫자를 입력하세요(0~99)'))
    count += 1
    if com > user:
        print('더 큰 숫자를 입력하세요')
    elif com < user:
        print('더 작은 숫자를 입력하세요')
    elif com == user:
        print('정답입니다')
        break

print("당신은 {}번 만에 성공하셨습니다".format(count))

# 문제 2) 야구게임
# 1~9 숫자 중 3가지 숫자 입력 (중복 불가)
# 1. 숫자와 자리가 모두 일치할 경우 "Strike"
# 2. 자리는 일치하지 않지만 숫자는 일치할 경우 "Ball"
# 3. 숫자와 자리 모두 일치하지 않을 경우 "Out"

from random import randint
list = []
for i in range(3):
    random = randint(0, 9)
    list.append(random)
# print(list)
com1 = int(list[0])
com2 = int(list[1])
com3 = int(list[2])
count = 0

while True:
    strike = 0
    ball = 0
    out = 0
    user = input('숫자 세 개를 입력하세요').split()
    num1 = int(user[0])
    num2 = int(user[1])
    num3 = int(user[2])
    if com1 == num1:
        strike += 1
    elif com1 == num2 or com1 == num3:
        ball += 1
    if com2 == num2:
        strike += 1
    elif com2 == num1 or com2 == num3:
        ball += 1
    if com3 == num3:
        strike += 1
    elif com3 == num1 or com3 == num2:
        ball += 1
    out = 3 - (strike + ball)
    count += 1
    print('%s-Strike %s-Ball %s-Out' % (strike, ball, out))
    if strike == 3:
        break
print('%d회 만에 성공하셨습니다' % (count))
print('성공!')

 

문제 3) 사용자에게 입력받은 숫자 5개를 출력하고, 합계와 평균 구하기

* 소스코드

user = input('숫자를 5개 입력하세요').split()
total = 0

for i in user:
    a = int(i)
    total += a
    print(a)
print(total)

avg = total / len(user)
print(avg)

댓글