디스코드 봇 개발일지
디스코드 자작봇 개발일지#11
고블린 슬레이어
2018. 10. 30. 19:49
오늘은 !복권 기능을 추가하였다.
!복권 명령어 실행모습
!복권 명령어를 치게되면
중복없는 7자리의 숫자를 출력하게된다.
if message.content.startswith("!복권"):
Text = ""
number = [1, 2, 3, 4, 5, 6, 7] # 배열크기 선언해줌
count = 0
for i in range(0, 7):
num = random.randrange(1, 46)
number[i] = num
if count >= 1:
for i2 in range(0, i):
if number[i] == number[i2]: # 만약 현재랜덤값이 이전숫자들과 값이 같다면
numberText = number[i]
print("작동 이전값 : " + str(numberText))
number[i] = random.randrange(1, 46)
numberText = number[i]
print("작동 현재값 : " + str(numberText))
if number[i] == number[i2]: # 만약 다시 생성한 랜덤값이 이전숫자들과 또 같다면
numberText = number[i]
print("작동 이전값 : " + str(numberText))
number[i] = random.randrange(1, 46)
numberText = number[i]
print("작동 현재값 : " + str(numberText))
if number[i] == number[i2]: # 만약 다시 생성한 랜덤값이 이전숫자들과 또 같다면
numberText = number[i]
print("작동 이전값 : " + str(numberText))
number[i] = random.randrange(1, 46)
numberText = number[i]
print("작동 현재값 : " + str(numberText))
count = count + 1
Text = Text + " " + str(number[i])
print(Text.strip())
embed = discord.Embed(
title="복권 숫자!",
description=Text.strip(),
colour=discord.Color.red()
)
await client.send_message(message.channel, embed=embed)
중복되는 숫자가 되는것을 피하기위해 현재의 랜덤값이 이전 저장된 숫자들과 같을경우
다시 숫자를 재생성하는 코드를 작성했다.
if문으로 이렇게 수동적으로 하는 방법이아니라 가독성있고 편한 방법이 있을거같다.
다음에는 한번 좀더 자동적인 코드를 작성해봐야겠다.