Python

[Python] UP AND DOWN GAME

ITs Min 2024. 5. 6.

๐Ÿ” ์„ค๊ณ„

# UP AND DOWN GAME
# 1. 1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค.
# 2. ์‚ฌ์šฉ์ž๊ฐ€ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
# 3. ์ž…๋ ฅํ•œ ์ˆ˜์™€ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜๋ฅผ ๋น„๊ตํ•œ๋‹ค.
# 4. ์ž…๋ ฅํ•œ ์ˆ˜๊ฐ€ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜์™€ ๊ฐ™์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.
# 5. ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜๊ฐ€ ์ž…๋ ฅํ•œ ์ˆ˜๋ณด๋‹ค ํฌ๋‹ค๋ฉด UP
#     ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜๊ฐ€ ์ž…๋ ฅํ•œ ์ˆ˜๋ณด๋‹ค ์ž‘๋‹ค๋ฉด DOWN ์„ ์ถœ๋ ฅ
# 6. ์ž…๋ ฅํ•œ ์ˆ˜์™€ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜๊ฐ€ ๊ฐ™๋‹ค๋ฉด ์‹œํ–‰ ํšŸ์ˆ˜์™€ ํ•จ๊ป˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅ
# 7. ๊ฒŒ์ž„์„ ๊ณ„์† ์ง„ํ–‰ํ•  ๊ฒƒ์ธ์ง€ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์—ฌ๋ถ€๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค.
# +) time ๋ชจ๋“ˆ์„ ํ™œ์šฉํ•ด ์ •๋‹ต์„ ๋งžํžˆ๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„๋„ ๊ณ„์‚ฐ
# +) ์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜์™€ ๋น„๊ตํ•ด ์ตœ์†Œ๊ฐ’๊ณผ ์ตœ๋Œ€๊ฐ’์„ ๋ณ€๊ฒฝํ•œ๋‹ค.
#     ๊ฐ’์€ ์ตœ๋Œ€๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’ ์‚ฌ์ด๋กœ๋งŒ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ” ์ฝ”๋“œ

import random
import time

while True:
    answer = random.randint(1, 100)
    minNum = 1;
    maxNum = 100;
    print(answer)
    count = 0

    print('=====================================================================')
    print('                         UP AND DOWN GAME!                       ')
    print('1๋ถ€ํ„ฐ 100๊นŒ์ง€์˜ ์ˆ˜๋ฅผ ๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ                   ')
    print('๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜๊ฐ€ ์ž…๋ ฅํ•œ ์ˆ˜๋ณด๋‹ค ํฌ๋‹ค๋ฉด UP!   ')
    print('๋žœ๋ค์œผ๋กœ ์ƒ์„ฑ๋œ ์ˆ˜๊ฐ€ ์ž…๋ ฅํ•œ ์ˆ˜๋ณด๋‹ค ์ž‘๋‹ค๋ฉด DOWN!')
    print('=====================================================================')

    while True:
        
        start = time.time()
        
        try:
            number = int(input(f"{minNum} ~ {maxNum}์‚ฌ์ด์˜ ์ˆ˜๋ฅผ  ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”!"))
            if number < minNum or number > maxNum:
                print(f"{minNum} ~ {maxNum}์‚ฌ์ด์˜ ์ˆ˜๋งŒ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.")
                continue
            if answer == number:
                count = count+1
                end = time.time()
                print(f"{answer} ์ •๋‹ต์ž…๋‹ˆ๋‹ค!")
                print(f"{count}๋ฒˆ๋งŒ์— ๋งžํžˆ์…จ์Šต๋‹ˆ๋‹ค.")
                print(f"{end - start:.2f}์ดˆ ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค!")
                break
            elif answer > number:
                print('UP !!')
                minNum = number+1
                count = count+1
            else:
                print('DOWN !!')
                maxNum = number-1
                count = count+1
        except ValueError:
            print('์ •์ˆ˜๋งŒ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!')

    option = input('๊ณ„์† ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? (Y/N)')
    if option.upper() == 'Y':
        continue
    else:
        print('๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค...')
        break

๐Ÿ’ก ๊ฒฐ๊ณผ


๐Ÿ›  ์—๋Ÿฌ ๋ฐ ๊ธฐํƒ€ ์ˆ˜์ • ์‚ฌํ•ญ

 

์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋‚˜ ์‹ค์ˆ˜๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š” VauleError

try-except๋ฅผ ํ™œ์šฉํ•ด ์ •์ˆ˜๋งŒ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ์ˆ˜์ •ํ–ˆ๋‹ค.

 

 

๋‹ค์Œ์€ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•œ ํ›„์— ์†Œ์ˆ˜์  ์ž๋ฆฌ๊ฐ€ ํ•„์š” ์ด์ƒ์œผ๋กœ ๋งŽ์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

ํŒŒ์ด์ฌ์˜ ๋ฌธ์ž์—ด ํฌ๋งคํŒ… ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ธ f-string์—์„œ๋Š” " :.2f "์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด ์†Œ์ˆ˜์  ์ž๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.


 

 

'Python' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Python] ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”  (0) 2024.05.21
[Python] HANGMAN GAME  (0) 2024.05.08

๋Œ“๊ธ€

TOP

๋Šฆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ๋• ๋„ˆ๋ฌด ๋Šฆ์€ ๊ฑฐ๋‹ค.