숫자 맞히기 게임
import random
answer = random.randint(1,20) 📌
print(answer)
chance = 4
count = 0
while 0 < chance :
print("기회가 {}번 남았습니다. 1-20 사이의 숫자를 맞혀 보세요: ".format(chance)) 📌
guess_what = input() 📌
guess_what = int(guess_what)
chance -= 1
count += 1
if chance == 0: 📌
print("아쉽습니다. 정답은 {}입니다.".format(answer))
elif guess_what == answer: 📌
print("축하합니다. {}번 만에 숫자를 맞히셨습니다.".format(count))
break
elif guess_what < answer:
print("Up")
else:
print("Down")
개선할 부분
- 📌 변하지 않는 상수의 변수는 대문자로!
answer
대신에 ANSWER
로 대체
- 📌📌
print
문구와 input()
부분을 따로 나누지말고 input("문구")
로 대체
- 📌📌 정해진 횟수 안에 답을 맞출 경우와 못 맞출 경우의 조건을
while
루프 안에 둬서 매번 돌리지 말고 while
루프 밖에다 둠으로써 연산량 줄일것
import random
ANSWER = random.randint(1,20)
print(ANSWER)
chance = 4
count = 0
guess_what = 0
while ANSWER != guess_what and 0 < chance :
guess_what = input("기회가 {}번 남았습니다. 1-20 사이의 숫자를 맞혀 보세요: ".format(chance))
guess_what = int(guess_what)
chance -= 1
count += 1
if guess_what < ANSWER:
print("Up")
elif guess_what > ANSWER:
print("Down")
if chance == 0:
print("아쉽습니다. 정답은 {}입니다.".format(ANSWER))
elif guess_what == ANSWER:
print("축하합니다. {}번 만에 숫자를 맞히셨습니다.".format(count))
코딩에 빠진 닭
count_day = 0
sales = open("data/chicken.txt","r")
total_sales = 0
for sale in sales:
total_sales += int(sale.split(":")[1].strip())📌
count_day += 1
sales.close()
average_daily_sales = total_sales / count_day
print(average_daily_sales)
개선할 부분
- 읽고 있는 파일의 줄에 공백이 있을 수도 있고 없을 수도 있는데 이부분을 고려 하지 못함 따라서
strip()
을 추가한 int(sale.strip().split(":")[1].strip())
로 대체
count_day = 0
sales = open("data/chicken.txt","r")
total_sales = 0
for sale in sales:
total_sales += int(sale.strip().split(":")[1].strip())
count_day += 1
sales.close()
average_daily_sales = total_sales / count_day
print(average_daily_sales)