小编Kni*_*fNi的帖子

关闭Pygame窗口

我花了相当多的时间找到一个64位的pygame安装用于python 3.3,(这里)现在我正在尝试创建一个窗口.但是,虽然窗口打开很好,但是当它按下x按钮时它不会关闭.事实上,我必须关闭IDLE来关闭窗口.我正在运行Win 7的64位版本.这是我的代码:

import pygame
import time
(width, height) = (300, 200)
screen = pygame.display.set_mode((width, height))
pygame.display.flip()
pygame.display.set_caption("Hello World")
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
Run Code Online (Sandbox Code Playgroud)

当我追加

time.sleep(5)
pygame.quit()
Run Code Online (Sandbox Code Playgroud)

它仍然没有关闭.我唯一的猜测是pygame.quit可能会进入其中一个循环,但即使已经解决了,我也非常希望能够在我想要的时候关闭窗口.

python pygame

12
推荐指数
3
解决办法
5万
查看次数

Python理论上可以“反编译”为C吗

由于Python本身是用C编写的,理论上是否可以将任何Python程序“反编译”为C,无论出于何种原因?不是翻译(这将采用程序的语义并用 C 语言编写另一个执行相同操作的程序),而是真正的反编译(使用程序为每个 Python 操作找到适当的 C 函数,并以语法正确的方式实现它们)。

c python

5
推荐指数
1
解决办法
565
查看次数

为什么要使用map()函数?

我正在使用Python,我注意到该map()功能似乎并没有做太多.例如,如果我写程序:

mylist = [1, 2, 3, 4, 5]
function = map(print, l)
print(function)
Run Code Online (Sandbox Code Playgroud)

它没有优势:

mylist = [1, 2, 3, 4, 5]
for item in mylist:
    print(item)
Run Code Online (Sandbox Code Playgroud)

实际上,第二个选项创建的变量较少,对我来说整体看起来通常更清晰.我认为这map()提供了一个在例子中看不到的优点,但它究竟是什么?

编辑:似乎有些人一直在回答一个与我打算提出的问题不同的问题.制作Python的开发人员显然在创建map()函数方面做了一些工作,他们甚至决定不将它从3.0中删除,而是继续研究它.他们决定服务的基本功能是什么?

python

5
推荐指数
1
解决办法
2405
查看次数

随机字符串生成器python

我在Python中创建了一个简单的程序来生成一个包含5个数字的随机字符串:

import random

numcount = 5
fstring = ""

for num in range(19): #strings are 19 characters long
    if random.randint(0, 1) == 1:
        x = random.randint(1, 26)
        x += 96
        fstring += (chr(x).upper())
    elif not numcount == 0:
        x = random.randint(0, 9)
        fstring += str(x)
        numcount -= 1

print(fstring)
Run Code Online (Sandbox Code Playgroud)

不太难,对吧?除了一个令人难以置信的奇怪的事情:它返回的字符串是随机长度.我已经多次运行代码了,这里有一些我的结果:

>>> ================================ RESTART ================================
>>> 
VQZ99HA5DER0CES4
>>> ================================ RESTART ================================
>>> 
05PS0T86LOZS
>>> ================================ RESTART ================================
>>> 
E2QX8296XK
>>> ================================ RESTART ================================
>>> 
M5X9K457QDNBPX
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚发生了什么......有人能指出我正确的方向吗?

random python-3.x rpython

0
推荐指数
1
解决办法
347
查看次数

虽然不是(或等效)java

我正在制作一个需要涉及一些错误检查的Java程序.我可以阻止用户输入这样的错误数字输入(假设input扫描仪已经创建):

while (n == 0){
    System.out.println("Can't use 0 as a denominator! Please enter a real, nonzero number");
    n = input.nextInt();
}
Run Code Online (Sandbox Code Playgroud)

但是如何阻止用户输入无效字符串?我不能用!=,因为字符串只能与string.equals()方法比较,对吧?那么,有一段时间没有循环吗?即:

while !(string.equals("y") || string.equals("n")){
   //here have code
}
Run Code Online (Sandbox Code Playgroud)

还是那种性质的东西?

java loops while-loop

0
推荐指数
1
解决办法
4919
查看次数

C#Bitwise XOR两个非常大的十六进制数

我有两个十六进制数,为了试验OTP,我试图用C#进行异或.不幸的是,这两个数字都在数百个数字的数量级 - 显然太大而无法存储在int或中long.我如何存储/删除它们?现在,我BigInteger像这样存储:

public static string XOR(string string_1, string string_2){
            BigInteger b1 = BigInteger.Parse(string_1, System.Globalization.NumberStyles.AllowHexSpecifier);
            BigInteger b2 = BigInteger.Parse(string_2, System.Globalization.NumberStyles.AllowHexSpecifier);
            BigInteger retVal = b1 ^ b2;
            return retVal.ToString("X");
        }
Run Code Online (Sandbox Code Playgroud)

这没有产生预期的结果.谢谢!

编辑:

输入:

string_1 = 32510bfbacfbb9befd54415da243e1695ecabd58c519cd4bd90f1fa6ea5ba47b01c909ba7696cf606ef40c04afe1ac0aa8148dd066592ded9f8774b529c7ea125d298e8883f5e9305f4b44f915cb2bd05af51373fd9b4af511039fa2d96f83414aaaf261bda2e97b170fb5cce2a53e675c154c0d9681596934777e2275b381ce2e40582afe67650b13e72287ff2270abcf73bb028932836fbdecfecee0a3b894473c1bbeb6b4913a536ce4f9b13f1efff71ea313c8661dd9a4ce
string_2 = 71946f9bbb2aeadec111841a81abc300ecaa01bd8069d5cc91005e9fe4aad6e04d513e96d99de2569bc5e50eeeca709b50a8a987f4264edb6896fb537d0a716132ddc938fb0f836480e06ed0fcd6e9759f40462f9cf57f4564186a2c1778f1543efa270bda5e933421cbe88a4a52222190f471e9bd15f652b653b7071aec59a2705081ffe72651d08f822c9ed6d76e48b63ab15d0208573a7eef027
Run Code Online (Sandbox Code Playgroud)

预期结果(根据Python和此在线XOR计算器):

32510bfbacfbb9befd54415da243e1695ecabd58c519cd4bd90f1fa6ea5b83624730b208d83b237176b5a41e13d1a2c0080f55d6fb05e4fd9a6e8aff84a9eec74ec0e3115dd0808c011baa15b2c29edad06d6c319976fc7c7eb6a8727e79906c96397dd14594a17511e2ba018c3267935877b5c2c1750f28b2d5bf55faa6c2218c30e58f17542717ad6f8622dd0069a4886d20d3d657a80a869c8f6025399f914f23e5ccd3a999c271a50994c7db959c5c0b73334d15ba3754e9
Run Code Online (Sandbox Code Playgroud)

c# xor

0
推荐指数
1
解决办法
544
查看次数

标签 统计

python ×3

c ×1

c# ×1

java ×1

loops ×1

pygame ×1

python-3.x ×1

random ×1

rpython ×1

while-loop ×1

xor ×1