我正在学习Tkinter并构建一个简单的8益智游戏.
(例如:http://www.permadi.com/java/puzzle8/)
每个数字都是使用网格布局放置到框架中的Canvas对象.其中一个对象是在Canvas对象之间添加额外的填充.我将Canvas对象的边框宽度设置为-2,这解决了一些人的问题,但这只会略微减少我的额外填充.将此值设置为-4开始切入我的画布区域.
我假设网格布局的单元格有一些默认的填充或边框宽度,但我还没有找到一种方法来删除它.在Canvas对象上调用grid()时设置padx,pady,ipadx,ipady值似乎也没有帮助.
我发现的另一个奇怪之处是当我为Canvas对象创建一个边框时,我使用了create_rectangle,但是我必须以4,4开始x_1和y_1而不是0,0或2,2这是我期望的2px边框.
这是我的代码.任何帮助/建议/解决方法/否则非常感谢.
#!/usr/bin/python
from Tkinter import *
class Number(Canvas):
def __init__(self, master=None, number=1):
Canvas.__init__(self, master, width=100, height=100, bd=-2)
self.create_text(50, 50, text=str(number), anchor=CENTER)
self.create_rectangle(4, 4, 98, 98, width=2)
class Application(Frame):
def create_widgets(self):
self.playarea = Frame(self, width=300, height=300)
self.playarea.grid_propagate(0)
self.playarea.grid()
self.playarea.numbers = []
for number in xrange(1, 10):
num_obj = Number(self.playarea, number)
self.playarea.numbers.append(num_obj)
row = number // 3
col = number % 3
num_obj.grid(row=row, column=col)
def __init__(self, master=None):
Frame.__init__(self, master)
self.grid()
self.create_widgets()
def main(): …Run Code Online (Sandbox Code Playgroud) 我正在创建一个组件“模板”(我认为这是正确的词),它可以是两行
@Componenet({
selector: '[my-row]',
template: `
<tr>
<td>first</td>
<td>second</td>
</tr>
<tr *ngIf="secondRow">
<td>foo</td>
<td>bar</td>
</tr>`
})
export class MyRowComponent {
@Input() secondRow = false;
}
Run Code Online (Sandbox Code Playgroud)
我想在另一个这样的组件中使用
<table>
<element my-row></element>
<element my-row secondRow="true"></element>
<element my-row></element>
<element my-row></element>
</table>
Run Code Online (Sandbox Code Playgroud)
但是我不确定应该是什么“元素”。
如果我只想要一行,则可以从MyRowComponenet中删除“ tr”,然后将其制成<tr my-row></tr>,但是由于我想要两行,因此这似乎是不可能的。<tbody>这不是一个选择,因为我只能在一个表中有一个。
我尝试使用<ng-component>,<ng-template>但是使用它们时出现了模糊的错误。
对于我的用例,不需要使用div而不是表。
谁能帮我吗?
编辑:请注意,使elementbe tr不起作用。由于它只是在您要创建的表的第一个单元格内创建了一个表。这是证明这一点的两个组件。
import { Component, Input } from '@angular/core';
@Component({
selector: '[my-row]',
template: `
<tr>
<td>{{ firstWord }}</td>
<td>{{ secondWord }}</td>
</tr>
<tr *ngIf="secondRow">
<td>fooooooooooooooo</td> …Run Code Online (Sandbox Code Playgroud) 我正在尝试学习如何使用 scikit-learn 的 MLPClassifier。对于一个非常简单的例子,我想我应该尝试让它学习如何计算 XOR 函数,因为我之前已经手动完成了这个作为练习。
然而,在我尝试拟合模型后,它只是吐出零。
xs = np.array([
0, 0,
0, 1,
1, 0,
1, 1
]).reshape(4, 2)
ys = np.array([0, 1, 1, 0]).reshape(4,)
model = sklearn.neural_network.MLPClassifier(
activation='logistic', max_iter=10000, hidden_layer_sizes=(4,2))
model.fit(xs, ys)
print('score:', model.score(xs, ys)) # outputs 0.5
print('predictions:', model.predict(xs)) # outputs [0, 0, 0, 0]
print('expected:', np.array([0, 1, 1, 0]))
Run Code Online (Sandbox Code Playgroud)
我也将我的代码放在 github 上的 jupyter 笔记本中https://gist.github.com/zrbecker/6173ac01ed30be4eea9cc96e21f4896f
当我可以明确表明存在一个解决方案时,为什么 scikit-learn 无法找到解决方案?成本函数是否陷入局部最小值?参数是否发生某种正则化,迫使它们保持接近 0?我使用的参数相当大(即-30 到30)。
根据互联网上的许多消息来源,C#数组是按顺序存储的.也就是说,如果我有一个指向数组中第一个元素的指针int *start = &array[0],那么我可以array[i]通过执行来访问*(start + i).
但是,我正在查看存储在其中的C#语言规范,C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC#\Specifications\1033我找不到任何可以保证这种情况的地方.
在实践中,这可能不是一个问题,如果说微软和Mono保持他们的实现同步,但我想知道是否有一个官方来源保证数组按顺序存储在内存中.
谢谢!
在比特币维基上我发现比特币使用 ECDSA 算法和 Secp256k1 曲线。
相关链接:
在第一个链接上,它说私钥应该是 32 个字节,公钥应该是 64 个字节,签名通常在 71-73 个字节之间。它说签名可以很小的概率更小。
但是,当我运行以下 python3 代码时
>>> from ecdsa import SigningKey, SECP256k1
>>> private_key = SigningKey.generate(curve=SECP256k1)
>>> public_key = private_key.get_verifying_key()
>>> signature = private_key.sign(b'message')
>>> print((len(private_key.to_string()), len(public_key.to_string()), len(signature)))
Run Code Online (Sandbox Code Playgroud)
我得到 (32, 64, 64) 作为输出。我希望得到类似 (32, 64, 72) 的结果。
我认为正在发生以下情况之一:
前两个是最有可能的。
谁能向我解释为什么我的期望与实际得到的不匹配?
我很无聊,想看看double的二进制表示是什么样的.但是,我发现窗户上有些奇怪.以下代码行说明
double number = 1;
unsigned long num = *(unsigned long *) &number;
cout << num << endl;
Run Code Online (Sandbox Code Playgroud)
在我的Macbook上,这给了我一个非零数字.在我的Windows机器上它给我0.
我期待它会给我一个非零数字,因为1.0作为double的二进制表示不应该全为零.但是,我不确定我要做的是否是明确定义的行为.
我的问题是,上面的代码是愚蠢和错误的吗?而且,有没有办法可以打印出双精度的二进制表示?
谢谢.
我正在尝试做一些非常类似于tensorflow主页上的"入门"教程.但是,nan在使用本教程中使用的梯度下降训练器时,我一直在寻找变量.
任何人都可以帮我找出原因吗?
import tensorflow as tf
import random
def generate_data(sample_count, slope, intercept, epsilon, min_x, max_x):
xs = [random.uniform(min_x, max_x) for _ in range(sample_count)]
ys = [slope * x + intercept + random.uniform(-epsilon, epsilon) for x in xs]
return xs, ys
# Create Data
sample_count = 1000
slope = 3
intercept = 0
epsilon = 20
min_x = 0
max_x = 100
xs, ys = generate_data(sample_count, slope, intercept, epsilon, min_x, max_x)
# Linear Model
initial_m = 1.
initial_b = …Run Code Online (Sandbox Code Playgroud) python ×3
.net ×1
angular ×1
bitcoin ×1
c# ×1
c++ ×1
cryptography ×1
ecdsa ×1
numpy ×1
scikit-learn ×1
tensorflow ×1
tkinter ×1