오늘은 !복권 기능을 추가하였다.
!복권 명령어 실행모습
!복권 명령어를 치게되면
중복없는 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문으로 이렇게 수동적으로 하는 방법이아니라 가독성있고 편한 방법이 있을거같다.
다음에는 한번 좀더 자동적인 코드를 작성해봐야겠다.
'디스코드 봇 개발일지' 카테고리의 다른 글
디스코드 자작봇 개발일지#13 (0) | 2018.10.30 |
---|---|
디스코드 자작봇 개발일지#12 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#10 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#9 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#8 (0) | 2018.10.30 |