我正在尝试加密和解密python中的文本,我知道该怎么做 - 问题是我不想使用一定数量的字母,如16或32.我希望能够使用尽可能多的字母/数字,然后加密文本没有任何错误.
python中的base64会很完美,因为我可以做到这一点,但是当我想做的时候:
password = "password"
encode = base64.b64encode(password)
Run Code Online (Sandbox Code Playgroud)
...它返回一个错误,因为它不是以字节为单位; 它必须像:
encode = base64.b64encode(b'password')
Run Code Online (Sandbox Code Playgroud)
这完全没问题,但我不想这样做.
import base64
password = "hello world"
encoded = base64.b64encode(password.encode("utf-8"))
print(encoded)
decoded = base64.b64decode(encoded)
print(decoded)
Run Code Online (Sandbox Code Playgroud)
这是现在我的代码,它工作正常,但我现在知道我正在使用错误的类型,我需要知道如何使用AES.
我正试图在我的Windows 8笔记本电脑上使用Pygame和Python 3.3.Pygame安装得很好,当我import pygame进口也很好.虽然当我尝试执行这个小代码时:
import pygame
pygame.init()
size=[700,500]
screen=pygame.display.set_mode(size)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File "C:\Users\name\documents\python\pygame_example.py", line 3, in <module>
pygame.init()
AttributeError: 'module' object has no attribute 'init'
Run Code Online (Sandbox Code Playgroud)
我曾经pygame-1.9.2a0-hg_56e0eadfc267.win32-py3.3安装过Pygame.Pygame安装在这个位置'C:\ PythonX'中,Python 3.3安装在这个位置'C:\ Python33'中.我看过其他人有相同或类似的问题,似乎没有解决错误.安装Pygame时我做错了什么吗?或者它不支持Windows 8?
我一直在尝试制作一个多客户端服务器,并且最终可以正常运行,但是我现在要做的是代替获取客户端地址,让客户端输入名称,然后程序会说“鲍勃:嗨,大家好”,而不是“ 127.0.0.1:嗨,大家好”。
我使用了python文档中的预制服务器和客户端。这是服务器:
import socketserver
class MyUDPHandler(socketserver.BaseRequestHandler):
def handle(self):
data = self.request[0].strip()
name = self.request[0].strip()
socket = self.request[1]
print(name,"wrote:".format(self.client_address[0]))
print(data)
socket.sendto(data.upper(), self.client_address)
if __name__ == "__main__":
HOST, PORT = "localhost", 9999
server = socketserver.UDPServer((HOST, PORT), MyUDPHandler)
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
这是客户:
import socket
import sys
HOST, PORT = "localhost", 9999
data = "".join(sys.argv[1:])
name = "".join(sys.argv[1:])
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto(bytes(name + "Bob", 'utf-8'), (HOST, PORT))
sock.sendto(bytes(data + "hello my name is Bob", "utf-8"), (HOST, PORT))
received = str(sock.recv(1024), "utf-8")
print("Sent: {}".format(data))
print("Received: …Run Code Online (Sandbox Code Playgroud) 我正在尝试将十进制数字添加到十进制数字并且它正常工作,但是当我这样做时,1.1 + 0.1我得到1.2000000000000002但是我希望它等于是1.2.当我这样做的时候,1.0 + 0.1我会得到1.1哪个是完美的,但我不会那样做1.1 + 0.1.那么有什么方法可以摆脱000000000000002来自1.2000000000000002?
谢谢.
我在tkinter中使用Radiobuttons,我可以选择它们很好但是当鼠标悬停在其中一个选项上时,它会被选中,而我实际上没有点击鼠标左键.我已经看过将Radiobutton的状态改为禁用但显然我不能选择被禁用的选项而且我也使用了deselect和select方法而且它们不会阻止鼠标选择当它悬停在它上面时的选项.有没有办法在我使用鼠标单击之前停止鼠标选择选项?
谢谢
这是代码:
var1 = IntVar()
self.u1r1 = Radiobutton(self, text = 'Passed', value = 1, variable = var1)
self.u1r1.grid(row = 0, column = 0, sticky = W)
self.u1r2 = Radiobutton(self, text = 'Not Passed', value = 2, variable = var1)
self.u1r2.grid(row = 0, column = 0, sticky = W, padx = 60)
self.u1r3 = Radiobutton(self, text = 'Waiting', value = 3, variable = var1)
self.u1r3.grid(row = 0, column = 0, sticky = W, padx = 145)
Run Code Online (Sandbox Code Playgroud) 我正在尝试将一些元素从一个数组复制到另一个数组,并且它确实有效,但是当指针只指向一个元素时,它会复制整个数组.这是代码:
char buffer[64], buffer1[2];
char* pointer;
strcpy(buffer, "Word");
pointer = buffer1;
*pointer = buffer[0];
printf("%c\n", *pointer);
printf("%s\n", buffer1);
Run Code Online (Sandbox Code Playgroud)
当我打印到指向控制台的*指针时,我得到"W"但是当我将缓冲区1打印到控制台时,我得到了"W",这怎么可能呢?它只能采取两个元素?
python ×5
arrays ×1
c++ ×1
client ×1
decimal ×1
numbers ×1
pygame ×1
python-3.3 ×1
python-3.x ×1
radio-button ×1
sockets ×1
socketserver ×1
tkinter ×1