小编Ale*_*XYX的帖子

在Python中根据索引及其后的项目切片列表

说我有一个度值数组,像这样:

DEGREES = [
    0, 15, 30, 45, 60,
    75, 90, 105, 120,
    135, 150, 165, 180,
    195, 210, 225, 240,
    255, 270, 285, 300,
    315, 330, 345,
]
Run Code Online (Sandbox Code Playgroud)

我会选择一个角度,然后能够将这个假设圆二等分,以便更轻松地找到到达目标方向的最短路径。

这样说,我如何选择一个特定的值(例如)90,然后能够找到该值后面的前12个元素,包括结束时环绕的索引?

因此,采用该更早的值并将其应用于该列表,我将得到如下信息:

[90, 75, 60, 45, 30, 15, 0, 345, 330, 315, 300, 285, 270]
Run Code Online (Sandbox Code Playgroud)

使用切片符号,我尝试这样做:

index = DEGREES.index(90)
print(DEGREES[index-12:index]) # start 12 values back, stop at index
Run Code Online (Sandbox Code Playgroud)

但这只会打印一个空数组。

有没有办法对列表进行切片,这样我就可以得到所使用索引后面的12个先前值?

编辑:

原来这是一个XY问题,我不好。最初,我试图在Pygame中创建一个平滑的旋转系统,但尝试计算角度不起作用,我问了这个问题以解决另一个我尝试实现的想法的问题。我最终接受了有助于建立平滑旋转系统的答案,但是下面的原始问题有相关答案。

python list

39
推荐指数
5
解决办法
1844
查看次数

Pygame - 在精灵中加载图像

如何将图像加载到精灵中而不是为精灵绘制形状?例如:我将一个 50x50 的图像加载到一个精灵中而不是绘制一个 50x50 的矩形

到目前为止,这是我的精灵代码:

class Player(pygame.sprite.Sprite):

    def __init__(self, color, width, height):

        super().__init__()
        #Config
        self.image = pygame.Surface([width, height])
        self.image.fill(WHITE)
        self.image.set_colorkey(WHITE)

            # Draw
        pygame.draw.rect(self.image, color , [0, 0, width, height])

        # Fetch
        self.rect = self.image.get_rect()

    def right(self, pixels):
        self.rect.x += pixels
    def left(self, pixels):
        self.rect.x -= pixels
    def up(self, pixels):
        self.rect.y -= pixels
    def down(self, pixels):
        self.rect.y += pixels
Run Code Online (Sandbox Code Playgroud)

python pygame

6
推荐指数
1
解决办法
7932
查看次数

Python - 回复电子邮件

我想使用 python 和 smtp 回复特定消息。我已经看过这些帖子:

使用 python 3.4 回复电子邮件

如何使用 Python imaplib 回复电子邮件并包含原始消息?

但不幸的是,它只发送带有“---------转发消息----------”的回复,而不是以正常方式回复。

请帮忙!

代码已附上

def reply_to_msg(self, original_msg, reply_body):
    # fetch msg
    self.login_imap(host="imap.gmail.com", port=993, username='username@gmail.com', password="pass",
                  use_ssl=True)
    # Filter by subject because it is unique subject (uuid)
    # Get message ID
    mail_ids = self.receive_mail_ids(subject_filter=original_msg["Subject"])

    msg = MIMEMultipart("mixed")
    body = MIMEMultipart("alternative")

    text, _ = self.append_orig_text(reply_body, "", original_msg, True)

    body.attach(MIMEText(text, 'plain'))
    msg.attach(body)
    msg.attach(MIMEMessage(original_msg))

    msg["Message-ID"] = email.utils.make_msgid()
    msg['To'] = original_msg["From"]
    msg['Subject'] = "Re: " + original_msg["Subject"]
    msg['In-Reply-To'] = msg['References'] = mail_ids[-1]

    # …
Run Code Online (Sandbox Code Playgroud)

python email smtp

5
推荐指数
0
解决办法
3459
查看次数

在Android Studio上禁用了“应用更改”

问题
使用Android Studio的一些人知道,如果我们想为我们的应用程序应用更改,则必须单击“应用更改”。
我现在的问题是此按钮被禁用/显示为灰色,因此我什至无法单击它。
这是我的意思:
这就是我的意思

到目前为止,
我尝试了什么:我在这里尝试了此链接的解决方案,但没有成功,“无效的缓存/重新启动”或“使用Gradle文件同步项目”都没有:

你们当中有人知道我还能尝试做什么吗?

android button android-studio

2
推荐指数
3
解决办法
1852
查看次数

标签 统计

python ×3

android ×1

android-studio ×1

button ×1

email ×1

list ×1

pygame ×1

smtp ×1