본문 바로가기

디스코드 봇 개발일지

디스코드 자작봇 개발일지#11

사진이 안보이신다면 https://blog.naver.com/turnbf/221377489070 에서 봐주세요.


!복권 기능 추가

오늘은 !복권 기능을 추가하였다.



!복권 명령어 실행모습

!복권 명령어를 치게되면 
중복없는 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문으로 이렇게 수동적으로 하는 방법이아니라 가독성있고 편한 방법이 있을거같다.
다음에는 한번 좀더 자동적인 코드를 작성해봐야겠다.