小编Mic*_*x2a的帖子

ActionScript3中的蜘​​蛛

理论上可以在不使用服务器端中间件技术的情况下在ActionScript3中构建蜘蛛吗?没有什么非常先进的(只访问HTML页面并将HTML作为文本返回到swf).

theory actionscript-3

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

如何在python 3中使用线程从键盘输入?

我正在制作一个蛇游戏,要求玩家按下WASD按键而不停止游戏过程以获得玩家的输入.所以我不能input()用于这种情况,因为那时游戏停止滴答作响.

我找到了一个getch()函数,它可以在不按下输入的情况下立即输入,但是这个函数也会停止游戏滴答以获得输入input().我决定使用线程模块通过getch()不同的线程获取输入.问题是getch()在不同的线程中不工作,我不知道为什么.

import threading, time
from msvcrt import getch

key = "lol" #it never changes because getch() in thread1 is useless

def thread1():
    while True:
        key = getch() #this simply is almost ignored by interpreter, the only thing it
        #gives is that delays print() unless you press any key
        print("this is thread1()")

threading.Thread(target = thread1).start()

while True:
    time.sleep(1)
    print(key)
Run Code Online (Sandbox Code Playgroud)

那么为什么getch()它没有用thread1()呢?

python multithreading python-3.x

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

如何从JSON对象(AST)构建控制流图(CFG)

我想从以JSON格式给出的AST构建控制流图(CFG).所以这个AST是在TouchDevelop中针对每个脚本自动创建的.而且由于TouchDevelop不是面向对象的编程,我还可以使用访问者模式吗?任何有用的指针将不胜感激.

Update1:我的问题是我不明白从哪里开始.从互联网上,我应该使用访问者模式来浏览AST以访问每个节点并收集信息.从那里,我可以构建一个CFG,然后进行数据流分析.但有两个问题:

1)据我所知,我需要面向对象的编程模型,使用访问者模式,(我可能是错的),这TouchDevelop不是.

2)如下所示,AST不是AST格式,正如我在互联网上找到的那样.它是JSON格式.我想我可以解析JSON将其转换为所需的AST结构,但我不太确定.

示例脚本的源代码

meta version "v2.2,nothing";
meta name "DivideByZero";
//
meta platform "current";

action main() {
  (5 / 0)?post_to_wall;
}
Run Code Online (Sandbox Code Playgroud)

产生的AST(JSON格式)如下:

{
    "type":"app",
    "version":"v2.2,nothing",
    "name":"DivideByZero",
    "icon":null,
    "color":null,
    "comment":"",
    "things":[
        {
            "type":"action",
            "name":"main",
            "isEvent":false,
            "outParameters":[
            ],
            "inParameters":[
            ],
            "body":[
                {
                    "type":"exprStmt",
                    "tokens":[
                        {
                            "type":"operator",
                            "data":"("
                        },
                        {
                            "type":"operator",
                            "data":"5"
                        },
                        {
                            "type":"operator",
                            "data":"/"
                        },
                        {
                            "type":"operator",
                            "data":"0"
                        },
                        {
                            "type":"operator",
                            "data":")"
                        },
                        {
                            "type":"propertyRef",
                            "data":"post to wall"
                        }
                    ]
                }
            ],
            "isPrivate":false
        }
    ]

}
Run Code Online (Sandbox Code Playgroud)

procedural-programming static-analysis abstract-syntax-tree touchdevelop control-flow-graph

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

Type.GetType方法返回null值

我在这个命名空间中有一个枚举:

Andish.CSS.CommonSilverLight.Enum.Billing.AccountTransacts.AccountTransactAccountType
Run Code Online (Sandbox Code Playgroud)

...并使用此方法将数据集转换为类:

public List<T> ConvertTo<T>(DataTable datatable) where T : new()
    {
        var temp = new List<T>();
        try
        {
            var columnsNames = (from DataColumn dataColumn in datatable.Columns select dataColumn.ColumnName).ToList();
            temp = datatable.AsEnumerable().ToList().ConvertAll<T>(row => GetObject<T>(row, columnsNames));
            return temp;
        }
        catch
        {
            return temp;
        }

    }

 private T GetObject<T>(DataRow row, List<string> columnsName) where T : new()
    {
        T obj = new T();
        try
        {
            string columnname = "";
            string value = "";
            PropertyInfo[] Properties = typeof(T).GetProperties();
            foreach (PropertyInfo objProperty in Properties)
            { …
Run Code Online (Sandbox Code Playgroud)

c# reflection

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

使用行星数据创建字典

我有太多关于太阳系中行星的细节.我本来应该用Python制作一本字典.对于每个行星,我有它的半径,与太阳的距离,卫星的数量,是否存在大气层,卫星的名称,是否是气体行星等等.

例如,以下是Mercury的数据:

Mercury
    Radius - 2,439.7 km
    Distance from the sun - 58 million km
    Moons - none
    Atmosphere? True
    Gas planet? False
Run Code Online (Sandbox Code Playgroud)

我如何使用所有这些数据来创建字典?

到目前为止,我有:

radius = {} #radius of planets
radius['Mercury'] = 2439.7
radius['Venus'] = 6051.8
radius['Earth'] = 6371.0
radius['Mars'] = 3,396.2
radius['Jupiter'] = 69,911
radius['Saturn'] = 60,268
radius['Uranus'] = 25,559
radius['Neptune'] = 24,764

distance = {} # distance from sun
distance['Mercury'] = 58000000
distance['Venus'] = 108000000
Run Code Online (Sandbox Code Playgroud)

我打算继续这个,为我拥有的所有数据创建一个字典,这样我就可以为每种不同类型的数据设置不同的部分.

但是,如果这是正确的方法,我不会这样做.有人能告诉我,我是否朝着正确的方向前进?如果没有,我该如何解决?

python dictionary

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

向LI Javascript添加ID

因此,li当有人在框中输入内容时,我将以下代码设置为创建元素.我也希望li元素包含一个唯一的ID,这将首先list-Item0去到list-Item1每等li创建人类型时入禁区,并增加了该项目.

知道怎么做这个吗?我不知道JQuery是什么,因为我是一个完全的初学者,所以我正在寻找一些非常基本的东西,我可以在这段代码中实现.

这是我到目前为止所拥有的:

function addItemFunction() {
    document.getElementById("itemList").innerHTML=document.getElementById("itemList").innerHTML + '<li>' + addNewBox.value + '</li>';  
}
Run Code Online (Sandbox Code Playgroud)

javascript

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

使用 PKCS7Padding 在 python 和 Node.js 之间进行 AES 加密

我正在尝试在 Node.js 中使用 pkcs7 填充解密消息,但没有成功。此消息已加密并从 Python 代码发送。我设法让它在纯 Python 中工作,但无法弄清楚如何在 Node.js 中实现解码(pkcs7 填充)功能。有人可以帮我重现代码吗?

Python 编码-加密

import base64
import hashlib
from Crypto.Cipher import AES
import pkcs7

text = "data"
pasword = "key"    

pw_bytes = pasword.encode('utf-8')
text_bytes = text.encode('utf-8')

m = hashlib.md5()
m.update(pw_bytes)
key = m.hexdigest()
cipher = AES.new(key, AES.MODE_ECB)
pad_text = pkcs7.encode(text_bytes)
msg = cipher.encrypt(pad_text)
EncodeMsg = base64.b64encode(msg)
encryptedstring = EncodeMsg.decode("utf-8")
print(encryptedstring)

# Output: SxQE+SERkAzYcdG/ESAhiQ==
Run Code Online (Sandbox Code Playgroud)

另外,我在 Python pkcs7.py 中放置了 pkcs7 padding 的自定义代码

import binascii
try:
    from StringIO import StringIO
except ImportError: …
Run Code Online (Sandbox Code Playgroud)

javascript python encryption cryptography node.js

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

两个活动之间共享的arraylist不起作用

我有一个问题,当我在checkbox中选择我的项目(因此它被检查)数组已经填满,但当我点击"Done"时,称为新活动GenreViewActivity,它调用了获取前一个活动的arraylist的方法,但是它的ListView,布局是空的.我错了什么?

AccountActivity GenreViewActivity

AccountActivity.java:

package com.example.msnma.movienotifier;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;

public class AccountActivity extends AppCompatActivity 
{
    private static ArrayList <String> itemsChkStr = new ArrayList<String();

public class Item 
{
        boolean checked;
        Drawable ItemDrawable;
        String ItemString;
        Item(/*Drawable drawable,*/ String t, boolean b)
        {
            //ItemDrawable = drawable; …
Run Code Online (Sandbox Code Playgroud)

java android listview android-arrayadapter android-activity

-1
推荐指数
1
解决办法
58
查看次数

递归-Python币组合列表

我目前正在尝试编写一些代码,在给定硬币值列表的情况下,它将返回总和为某个值的所有可能的硬币组合。这是程序应该如何运行的示例:

>>> find_changes(4,[1,2,3])
[[1, 1, 1, 1], [2, 1, 1], [1, 2, 1], [3, 1], [1, 1, 2], [2, 2], [1, 3]]
Run Code Online (Sandbox Code Playgroud)

我得到了以下代码模板来填写:

def find_changes(n, coins):
    if n < 0:
        return []
    if n == 0:
         return [[]]
    all_changes = []

    for last_used_coin in coins:
        ### DELETE THE "pass" LINE AND WRITE YOUR CODE HERE
        pass

    return all_changes
Run Code Online (Sandbox Code Playgroud)

我尝试在for循环中使用以下代码:

all_changes.append[last_used_coin]
find_changes(n-last_used_coin,coins)
Run Code Online (Sandbox Code Playgroud)

它目前不起作用。我究竟做错了什么?

python recursion combinations list

-3
推荐指数
1
解决办法
3993
查看次数