我试图使用我获得的字母频率生成随机文本.首先,我成功完成以下代码:
for i in range(450):
outcome=random.random()
if 0<outcome<0.06775:
sys.stdout.write('a')
if 0.06775<outcome<0.07920:
sys.stdout.write('b')
if 0.07920<outcome<0.098:
sys.stdout.write('c')
....
Run Code Online (Sandbox Code Playgroud)
这直到字母z和空格键.这给了我> 50行代码,我希望使用数组得到相同的结果.
到目前为止,我有:
f_list = [0, 0.06775, 0.08242, 0.10199, 0.13522, 0.23703, 0.25514, 0.27324, 0.32793, 0.38483, 0.38577, 0.39278, 0.42999, 0.45023, 0.50728, 0.56756, 0.58256, 0.58391, 0.62924, 0.68509, 0.7616, 0.78481, 0.79229, 0.81161, 0.81251, 0.82718, 0.82773, 0.99998]
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' ']
import …Run Code Online (Sandbox Code Playgroud) 我有一个字节(来自其他供应商),潜在的位掩码如下:
value1 = 0x01 value2 = 0x02 value3 = 0x03 value4 = 0x04 value5 = 0x05 value6 = 0x06 value7 = 0x40 value8 = 0x80
我可以指望value1到value6中的一个存在.然后可以设置或不设置value7.value8可能已设置,也可能未设置.
所以这是合法的:value2 | value7 | value8这不合法:value1 | value3 | value7
我需要弄清楚是否设置了值7,设置了value8,以及剩余的值是什么.
我有以下python代码.有没有更优雅的方式来做到这一点?
value1 = 0x01
value2 = 0x02
value3 = 0x03
value4 = 0x04
value5 = 0x05
value6 = 0x06
value7 = 0x40
value8 = 0x80
def format_byte_as_bits(value):
return format(value,'b').zfill(8)
def mask_bits_on_byte(byte,mask):
inverse_of_mask = mask ^ 0b11111111
return byte & inverse_of_mask
def parse_byte(byte):
value7_set = …Run Code Online (Sandbox Code Playgroud) 试图围绕django形式和django做事方式.我想创建一个基本的Web表单,允许用户输入地址并将该地址进行地理编码并保存到数据库中.
我创建了一个位置模型:
class Location(models.Model):
address = models.CharField(max_length=200)
city = models.CharField(max_length=100)
state = models.CharField(max_length=100, null=True)
postal_code = models.CharField(max_length=100, null=True)
country = models.CharField(max_length=100)
latitude = models.DecimalField(max_digits=18, decimal_places=10, null=True)
longitude = models.DecimalField(max_digits=18, decimal_places=10, null=True)
Run Code Online (Sandbox Code Playgroud)
并定义了一个表单:
class LocationForm(forms.ModelForm):
class Meta:
model = models.Location
exclude = ('latitude','longitude')
Run Code Online (Sandbox Code Playgroud)
在我看来,我正在使用form.save()保存表单.这可以工作并将地址保存到数据库中.
我创建了一个模块来对地址进行地理编码.我不确定django的做法是什么,但我想在我看来,在保存表单之前,我需要对地址进行地理编码并设置lat和long.保存前如何设置纬度和经度?
models.py =>
from django.db import models
from django.forms import ModelForm
from datetime import date
import datetime
from django import forms
from django.forms import Textarea
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
created = models.DateField(auto_now_add=True)
modified = models.DateField(auto_now_add=True)
def __unicode__(self):
return self.title
class PostModelForm(ModelForm):
class Meta:
model = Post
Run Code Online (Sandbox Code Playgroud)
但我得到一个文本输入而不是textarea models.TextField().这是css的原因吗?
我正在编写一个宏,当我按一个键时会点击屏幕上的某些点.
我第一次按一个键,一切正常.
但是,任何其他按键都会导致错误:
time.sleep(0.1)
TypeError: an integer is required
Run Code Online (Sandbox Code Playgroud)
这是代码:
import win32api
import win32con
import time
import pythoncom
import pyHook
import os
def Click(x,y):
win32api.SetCursorPos((x,y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)
def DeleteRun(event):
Click(1250, 741)
time.sleep(0.1)
Click(649,261)
time.sleep(0.1)
Click(651, 348)
time.sleep(0.1)
Click(800, 442)
time.sleep(0.1)
Click(865, 612)
Click(20,20)
KeyGrabber = pyHook.HookManager()
KeyGrabber.KeyDown = DeleteRun
KeyGrabber.HookKeyboard()
pythoncom.PumpMessages()
Run Code Online (Sandbox Code Playgroud)
这似乎是第一次DeleteRun运行函数pyHook,time.sleep()接受浮点数.
在任何后续函数调用中,它似乎只接受整数.
是什么造成的?
我不能等待5秒钟的鼠标安排!它应该节省时间!
眼镜:
我需要一个临时目录,但我想完全控制它的创建和删除.
我将使用此目录来放置我想要监视新提交的git存储库,因此我需要将它们永久存储在某处.
因此我想避免/tmpdir,因为它可以被用户清除(?).这是什么最好的做法?
在Python中,我经常以类似于此的方式重用变量:
files = files[:batch_size]
Run Code Online (Sandbox Code Playgroud)
我喜欢这种技术,因为它可以帮助我减少需要跟踪的变量数量.
没有任何问题,但我想知道我是否缺少潜在的缺点,例如性能等.
我是Eclipse的新手,我一直在尝试导入一个与Eclipse分开的Django项目.如果有人可以给我一个关于如何导入我的Django项目的分步指南,那将是最有帮助的.
我能找到的只是导入文件层次结构,但导致导入不完整或导入我不想要的文件夹.任何帮助,将不胜感激.
我正在用Python编写程序,我希望它显示的数据必须能够同时适应屏幕,而无需滚动.默认的命令行大小不允许这样做.
有没有办法在不创建GUI的情况下自动调整Python中的命令行窗口大小?该程序仅用于Windows.
我有一个字符串,稍后将转换为int().它是三位数,从0到3的任何一个可能是0.如何从字符串的左侧剥离0?
现在我正在使用string.lstrip('0')但是剥离所有0并使字符串为空,导致错误.