如何无限地启动循环

时间:2018-06-14 11:32:11

标签: python loops indexing discord.py

我的经历 所以我正在创建Discord机器人,以帮助教我如何编程Python和编程。我对编程的了解主要来自于我参加高中一年的AP计算机科学原理(夏天之后我将成为高中初中)。在本课程中,我们使用MIT App Inventor创建了应用程序,它实际上允许您使用伪代码块创建应用程序。我们学习了二进制,位,字节,奇偶校验位,一些搜索和排序算法,循环(索引和东西),变量,程序(很多函数),这就是它。我以前通过复制它们来学习C#游戏开发,但是当我决定从事软件工程的职业时我会做一些事情

我在寻找什么 我试图制作一个for循环或一些循环只是为了实验,也许以后再使用它。主要是找出它的语法以及我每次写入时会写的内容。

# LearnBot by George D

# Libraries and stuff to import

import discord
from discord.ext import commands
from discord.ext.commands import Bot
import asyncio
import chalk
import time

# Variables and initiate related code

bot = commands.Bot(command_prefix='$')

i = 1 # This variable is super simple yet very important
varTest = 8
charTest = 'Code'
nullTest = None
timeTestDelay = .5

while i>0:
    await bot.say("This is a for loop test, so It's gonna be annoying!")
    time.sleep(1.5)
    i=i+1
    print (i)

感谢任何帮助:)

2 个答案:

答案 0 :(得分:2)

如果你想要一个无限循环,这里是快速样本:

import time

while True:
    print('!')
    time.sleep(1)

答案 1 :(得分:0)

discord.py的github有一个后台任务示例,找到here。您应该能够将其作为参考。

import discord
import asyncio

client = discord.Client()

async def my_background_task():
    await client.wait_until_ready()
    counter = 0
    channel = discord.Object(id='channel_id_here')
    while not client.is_closed:
        counter += 1
        await client.send_message(channel, counter)
        await asyncio.sleep(60) # task runs every 60 seconds

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

client.loop.create_task(my_background_task())
client.run('token')