小编Nic*_*ung的帖子

无序列表未在div中一直向左对齐

我有一个无序列表,我用作一个简单的导航栏.如下所示:

在此输入图像描述

正如你所看到的那样,<li>元素并没有一直对齐<div>它们所包含的左边.我已经尝试text-align: left;了包含<div>但似乎没有效果.

相关HTML:

<div id="menu">                                                                         
    <div id="menutop">                                                                  
        <ul>                                                                            
            <li><a href="#">Home</a></li>                                               
            <li><a href="#">About</a></li>                                              
        </ul>                                                                           
    </div>     
Run Code Online (Sandbox Code Playgroud)

相关CSS:

#menu {
    width: 800px;
    margin: 0 auto;
}

#menu div {
    float: left;
    width: 400px;
    height: 60px;
    background-color: #CACACA;
}

#menutop {
    text-align: left;
}

#menutop ul {
    list-style: none;
}

#menutop li {
   display: inline;
   padding: 10px;
}

#menutop a {
    color: #000000;
    text-decoration: none;
}

#menutop a:hover {
    text-decoration: underline;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

html css

14
推荐指数
2
解决办法
8万
查看次数

按字母顺序对矢量<Struct>进行排序

我有一个std::vector<Word> data不在下面的结构:

struct Word
{
    std::string word;
    int line_number;
};
Run Code Online (Sandbox Code Playgroud)

我已经从文件中读取了单词并将其推入到我的向量中,该向量存储了上面字符串中的单词以及单词出现的行号.现在我需要按字母顺序对单词进行排序,并尝试以下方法:

    std::sort(data.begin(), data.end());
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译以下内容时,我会得到一个疯狂的错误列表.我相信这是由于sort算法试图将vector.begin()与vector.end()进行比较,但它不知道如何将struct word计算为另一个struct word.

但是我也没有.我对如何比较包含在向量中的结构的字符串感到困惑.

c++ sorting string algorithm vector

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

将void*转换为double

我试图使用该pthread库来计算n斐波纳契数,其中n可以从范围0-1000.当我试图将我的类型转换void*为a 时,我遇到了一个奇怪的错误double.

在我的主要部分是我对计算斐波那契函数的调用:

pthread_create(&tid, &attr, calc_fib, (void *)n);
Run Code Online (Sandbox Code Playgroud)

在我的calc_fib函数中,我试图用以下方法进行类型转换:

void *calc_fib( void *num)
{
    double n;
    n = (double)num;
    ...
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这样做时,我收到以下错误:

In function ‘calc_fib’:
error: pointer value used where a floating point value was expected
In function ‘main’:
error: cannot convert to a pointer type
Run Code Online (Sandbox Code Playgroud)

难道我无法从类型转换void*doubleC或我做错了我?

c pointers pthreads type-conversion

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

将Scrapy的输出格式化为XML

因此,当我将其导出为XML时,我尝试将使用Scrapy从网站上抓取的数据导出为特定格式.

这就是我希望我的XML看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<data>
  <row>
    <field1><![CDATA[Data Here]]></field1>
    <field2><![CDATA[Data Here]]></field2>
  </row>
</data>
Run Code Online (Sandbox Code Playgroud)

我使用命令运行我的scrape:

$ scrapy crawl my_scrap -o items.xml -t xml
Run Code Online (Sandbox Code Playgroud)

我得到的当前输出是:

<?xml version="1.0" encoding="utf-8"?>
<items><item><field1><value>Data Here</value></field1><field2><value>Data Here</value></field2></item>
Run Code Online (Sandbox Code Playgroud)

如您所见,它正在添加<value>字段,我无法重命名根节点或项节点.我知道我需要使用XmlItemExporter,但我不知道如何在我的项目中实现它.

我试图将它添加到这里pipelines.py显示,但我总是最终得到错误:

AttributeError: 'CrawlerProcess' object has no attribute 'signals'

有没有人知道在使用XmlItemExporter?将数据导出到XML时如何重新格式化数据的示例?

编辑:

在我的piplines.py模块中显示我的XmlItemExporter :

from scrapy import signals
from scrapy.contrib.exporter import XmlItemExporter

class XmlExportPipeline(object):

    def __init__(self):
        self.files = {}

    @classmethod
    def from_crawler(cls, crawler):
        pipeline = cls()
        crawler.signals.connect(pipeline.spider_opened, signals.spider_opened)
        crawler.signals.connect(pipeline.spider_closed, …
Run Code Online (Sandbox Code Playgroud)

python xml web-crawler scrapy web-scraping

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

多维数组x86

我知道如何在C++中做到这一点,但在x86中我似乎无法宣称说4x4数组.我只是想找个让我入门的例子.

x86 assembly masm

4
推荐指数
1
解决办法
1914
查看次数

从文件到换行符读取空格分隔的数字

我有一个包含以下数据的文本文件.

第一行是这样的:

5 4 3 2 1

第二行是这样的:

1 2 3 4 5

我试图一次从一行读取数据,因为我的第一个链表对象将使用第一行的数据,而我的第二个链表对象将使用第二行的数据.我能想到的最好的是以下功能:

void polynomial::allocate_poly(std::ifstream& in, const char* file, const char* number)
{

    in.open(file);

    std::string str;
    char b;
    int m = 0;

    for(int i = 0; !in.eof(); ++i)
    {
        in >> b;
        m = b - '0';
        a.insert(m);
    }
Run Code Online (Sandbox Code Playgroud)

这种方法存在一些问题.我在for循环中尝试了不同的二元运算符,b == '\n'当b是换行符时,它们似乎都没有触发.

还以这种方式从文件中分配数字 5 5 4 3 2 1 1 2 3 4 5,所以它似乎在某处复制了额外的5,我不确定这是否是eof位.

我也试图使用getline函数但由于某种原因它似乎只复制第一个整数然后转储文件的其余部分.我当然知道我没有正确使用它,但我能找到的所有示例都是用于输入文件名等cin.getline,我希望能够在运行程序时将我的文件名作为命令行参数传递.

我的问题是如何将第一行的数字分配到换行符char,然后将ifstream in变量传递给另一个对象以分配第二行?谢谢你的帮助.

c++ io fstream data-structures

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

Nutch regex-urlfilter语法

我正在运行Nutch v.1.6并且它正确地抓取特定站点,但我似乎无法获得该文件的语法正确NUTCH_ROOT/conf/regex-urlfilter.txt.

我想抓取的网站有一个类似于此的网址:

http://www.example.com/foo.cfm
Run Code Online (Sandbox Code Playgroud)

在该页面上有许多链接符合以下模式:

http://www.example.com/foo.cfm/Bar_-_Foo/Extra/EX/20817/ID=6976
Run Code Online (Sandbox Code Playgroud)

我想抓取与上面第二个示例相匹配的链接.在我,regex-urlfilter.txt我有以下内容:

+^http://www.example.com/foo.cfm$
+^http://www.example.com/foo.cfm/(.+)*$
Run Code Online (Sandbox Code Playgroud)

Nutch匹配第一个并正确抓取它,但似乎没有使用其他过滤器获取链接.我怎样才能让Nutch像上面的第二个一样抓取网址?

我试过以下没有运气:

+^http://www.example.com/foo.cfm/(.+)*$
+^http://www.example.com/foo.cfm/(.)*$
+^http://www.example.com/foo.cfm/.+$
+^http://www.example.com/foo.cfm/(.*)*$
Run Code Online (Sandbox Code Playgroud)

在我的NUTCH_ROOT/urls/nutch身上:

http://www.example.com/foo.cfm/
Run Code Online (Sandbox Code Playgroud)

regex web-crawler nutch

4
推荐指数
1
解决办法
8408
查看次数

Django方法更改用户电子邮件无法正常工作

我正在尝试创建一个页面,用户可以在其中查看当前电子邮件的内容,并根据需要进行更改.如果表单无效,我只是使用一个非常简单的表单和一个非常简单的HttpResponseRedirect进行测试.但是,如果表单无效,我的电子邮件既不会改变用户也不会失败.我不确定是什么原因造成的

forms.py:

    class ChangeEmail(forms.Form):
        email1 = forms.EmailField(label=u'Type new Email')
        email2 = forms.EmailField(label=u'Type Email again') 
Run Code Online (Sandbox Code Playgroud)

views.py:

def change_email(request, username):
    if request.method == 'POST':
        user1 = User.objects.get(username=username)
        form1 = ChangeEmail(request.POST)
        if form1.is_valid():
            user1.email = form.cleaned_data['email1']
            form1.save()
            return HttpResponseRedirect('/register/success')
        else:
            return HttpResponseRedirect('/stupid')
    else:
        user = User.objects.get(username=username)
        email = user.email
        form = ChangeEmail()
        variables = RequestContext(request, {
            'form': form,
            'email': email
        })
        return render_to_response('registration/email.html', variables
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.

编辑:

我映射以呈现表单的URL是/user/testuser/email.我试图在字段中输入无效输入以获取错误消息,但是当我按下提交时,它会将我重定向回/user/testuser显示有关用户信息的页面.我的更改电子邮件模板如下:

{% extends "base.html" %}
{% block title %}Change Email{% endblock %}
{% …
Run Code Online (Sandbox Code Playgroud)

python forms django

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

带运算符重载的矩阵乘法

我正在尝试为我构建的矩阵类创建一个重载运算符.我的矩阵类将矩阵存储在动态分配的多维数组中.我只是试图通过将两个完全相同的矩阵相乘并显示输出来测试我的重载运算符.我得到了奇怪的结果,我相信它与我的for循环中的一个条件有关.然而,我已经遍历了所有的for循环,并且没有发现任何错误.我乘以的矩阵都是6x6.

我的重载运算符

template <typename T>
const matrix<T> matrix<T>::operator * (const matrix& right) const
{
    matrix<T> c = right;
    int sum_elems;
    for( int i = 0; i < this->rows - 1; ++i)
    {
        for(int j = 0; j < right.cols - 1; ++j)
        {
            sum_elems = 0;
            for( int k = 0; k < right.rows - 1; ++k)
            {
                sum_elems += this->the_matrix[i][k] * right.the_matrix[k][j];
            }

            c.the_matrix[i][j] = sum_elems;
        }
    }
    return c;
}                 
Run Code Online (Sandbox Code Playgroud)

现在我调用main函数中的重载操作符:

std::cout << my_matrix;
matrix<int> copy_matrix;
copy_matrix = …
Run Code Online (Sandbox Code Playgroud)

c++ templates operator-overloading matrix

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

在模板类中使用向量迭代器

我试图在我正在创建的模板类中创建一个矢量迭代器.以下是故障代码.

void editor<T>::insert()
{   
        typedef typename std::vector<T>::const_iterator itr;
        itr it;
        it = this->buffer.begin();

        for(int i = 0; i < line_num -1; ++i)
        {   
            ++it;
        }

        this->buffer.insert(it, user_text);
        std::cout << "Cool, Your new line has been inserted." << '\n';
    }
    std::cout << '\n';
}
Run Code Online (Sandbox Code Playgroud)

我收到以下编译错误:

error: no match for ‘operator=’ in ‘it = ((editor<std::basic_string<char> >*)this)->editor<std::basic_string<char> >::buffer.std::vector<_Tp, _Alloc>::begin [with _Tp = std::vector<std::basic_string<char>, std::allocator<std::basic_string<char> > >, _Alloc = std::allocator<std::vector<std::basic_string<char>, std::allocator<std::basic_string<char> > > >, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__normal_iterator<std::vector<std::basic_string<char>, std::allocator<std::basic_string<char> > >*, std::vector<std::vector<std::basic_string<char>, std::allocator<std::basic_string<char> > …
Run Code Online (Sandbox Code Playgroud)

c++ templates iterator stl

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

使用jQuery在表中基于`td`的值隐藏`tr`

我的表中充满了来自后端数据库查询的动态内容.我想隐藏任何tr只包含零的内容.

这是我的表格的样子:

<table id="table1" " cellspacing="0" style="width: 800px">
<thead id="tablehead">
</thead>
<tbody id="tabledata">
<tr class="odd">
<td>0</td>
<td>0</td>
<td>0</td>
<td>0.00%</td>
<td>0.00%</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
<td>$0.00</td>
</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

现在,如果前三td的的tbody==0,那么我想添加一个类的tr,这将有效地隐藏该行.我将如何使用jQuery进行此操作?

编辑: 抱歉忘记添加我尝试过的内容.下面是一个测试脚本我想看看我是否能收集所有td

$(document).ready(function() {
    $("#table1 td").filter(function() {
        return $(this).text == 0;
    }).css("text-color", "red");

    });
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

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

使用不同的符号绘制数据不起作用

我试图在我的flot图上为我的一个数据系列使用不同的符号,因为它比其他数据大得多.我使用此示例作为参考:http://www.flotcharts.org/flot/examples/symbols/index.html

这是我到目前为止:

我的包括:

<script  type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.flot.js"></script>
<script type="text/javascript" src="jquery.flot.symbol.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后我配置我的flot选项如下:

var options = {
        grid: {hoverable : true},
        xaxis: { mode: "time", timeformat: "%H:%M", tickLength: 1},
        series: { points : { show: true } }
        };
Run Code Online (Sandbox Code Playgroud)

然后,我实际绘制数据:

 $.plot('#placeholder', [{
               data: my_data,
               lines: { show : true},
               points: { symbol: "square"},
               color: '#CB4B4B',
               label: 'My Data'
               }], options);
        }
Run Code Online (Sandbox Code Playgroud)

但是,flot仍然将点绘制为默认圆.我在firebug中没有收到任何错误消息,我甚至尝试在jquery.flot.symbol.js库本身中添加一条日志消息,看看"square"处理程序是否被调用如下:

var handlers = {
            square: function (ctx, x, y, radius, shadow) …
Run Code Online (Sandbox Code Playgroud)

javascript jquery flot

2
推荐指数
1
解决办法
2107
查看次数

找到一个由三个大写字母组成的小写字母

我有一个混合了大写和小写字母的字符串.我需要找到每个由3个大写字母包围的小写字母,并从字符串中提取它.

例如,ZZZaZZZ我想a在前一个字符串中提取.

我写了一个能够提取ZZZaZZZ但不能a单独提取的脚本.我知道我需要使用嵌套的正则表达式来执行此操作但我不能完全理解如何实现它.以下是我所拥有的:

import string, re                                                                                                                                                                

if __name__ == "__main__":                                                                                                                                                       

    #open the file                                                                                                                                                               
    eqfile = open("string.txt")                                                                                                                                                
    gibberish = eqfile.read()                                                                                                                                                    
    eqfile.close()                                                                                                                                                               

    r = re.compile("[A-Z]{3}[a-z][A-Z]{3}")                                                                                                                                      
    print r.findall(gibberish)           
Run Code Online (Sandbox Code Playgroud)

编辑: 谢谢你的答案!我想我应该更具体一点.我需要找到由三个完全相同的大写字母包围的小写字母,例如在我的示例中ZZZaZZZ.

python regex string

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