小编sas*_*llo的帖子

阵列长度检查时未初始化的值警告

我有以下代码:

my @product_access = @{ $products->{ $PosDetails->{"SalProductRef"}->[$i]}
                      {DetAccess_tab} };

if ( @product_access == 1 )
{
    $revenue{ $products->{ $PosDetails->{"SalProductRef"}->[$i] }{DetFinanceCategory} }
            {"Total"} += $PosDetails->{"SalSubTotal"}->[$i];
}
Run Code Online (Sandbox Code Playgroud)

在我检查阵列长度的地方,我收到Use of uninitialized value in concatenation警告.在那条线上发出警告似乎有点奇怪.为什么会显示此警告?

arrays perl dereference

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

在C++中从csv逐行使用数据的有效方法

在C++中逐行处理来自文件的数据的方式(如果存在)最有效(不容易出现错误/"正确")的方法是什么?也就是说,在移动到下一个文件之前,一次只使用文件中的一行来执行一些冗长的计算.我想到了以下选项,但无法确定哪一个更合适.

  1. 目前我正在做类似的事情(打开,做所有事情,最后关闭):

    string line; 
    fstream myfile;
    int numlines = 1000;
    myfile.open("myfile.csv");
    for(int i = 0; i < numlines; i++){
        getline(myfile, line); 
        // do something using read data
    };
    myfile.close();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在读取数据后立即打开和关闭(因为计算比数据导入长得多,所以不会太快损害速度):

    string line; 
    fstream myfile;
    int numlines = 1000;
    for(int i = 0; i < numlines; i++){
        myfile.open("myfile.csv");
        for(int j = 0; j < i+1; j++)
            getline(myfile, line); 
        myfile.close();
        // do something using read data
    };
    
    Run Code Online (Sandbox Code Playgroud)
  3. 一次读取所有数据(需要存储~30x1000 2D数组,因为line用逗号分割成数组):

    string line; 
    fstream myfile;
    int numlines = 1000;
    double data[numlines][30];
    myfile.open("myfile.csv"); …
    Run Code Online (Sandbox Code Playgroud)

c++

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

为什么我的程序说项目欧拉#3(Java)的整数过大?

这是我的代码:

public static boolean isPrime(long num)
    {
        for(long i=2; i<=num/2; i++)
        {
            if(num%i==0)
            {
                return false;
            }
        }
        return true;
    }

    public static long findLargestPrimeFactor(long n)
    {
        long max=0;
        for(long factor=2; factor<n; factor++)
        {
            if(n % factor==0)
            {
                if(isPrime(n/factor)==true)
                {
                    max=factor;
                }
            }
        }
        return max;
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它时,它表示整数600851475143太大了.谁能帮我?

java

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

我需要计算python中相同位置的字符,但我不知道如何正确,因为我是程序的新手

编写一个Python脚本,要求用户输入两个长度相同的DNA序列.如果两个序列的长度不同,则输出"输入无效,长度必须相同!" 如果输入有效,则计算这两个序列中相同位置的dna碱基数相等,并输出答案"这两个序列的x位置具有相同的字符".x是实际数字,具体取决于用户的输入.

以下是我到目前为止的情况.

g=input('Enter DNA Sequence: ')
h=input('Enter Second DNA Sequence: ')

i=0
count=0

if len(g)!=len(h):
        print('Invalid')
else:
    while i<=len(g):
        if g[i]==h[i]:
            count+=1
        i+=1
print(count)
Run Code Online (Sandbox Code Playgroud)

python string count

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

基于python中的true/false元组的zip

我想要一个由ziped列表组成的变量,但只有那些被选中的变量.那是,

selected = (True, True, False)
mylist1 = [1,2,4]
mylist2 = [4,5,8]
mylist3 = [3,2,7]
Run Code Online (Sandbox Code Playgroud)

所以,我想要的是mylist = zip(mylist1, mylist2)如果selected像上面那样.也就是说,我zip只想标记为标记为的那些列表True.目前我有一堆if-else,看起来很难看.稍后我将需要对三个以上的列表做同样的事情,我觉得必须有一个更通用的解决方案.在那儿?

python tuples list python-2.7

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

为什么python docstring的解释与注释不同

比方说,我有一个这样的函数:

def myFunc():
    # useful function to calculate stuff
Run Code Online (Sandbox Code Playgroud)

这将产生缩进错误,除非我添加pass:

def myFunc():
    # useful function to calculate stuff
    pass
Run Code Online (Sandbox Code Playgroud)

但是,如果我用docstring替换注释,pass则不需要:

def myFunc():
    """useful function to calculate stuff"""
Run Code Online (Sandbox Code Playgroud)

这看起来像一个奇怪的特征,因为据我所知,这些都没有在程序中使用.那么,为什么它会像这样呢?

python docstring python-2.7

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

实现ensureIndex()以使用pymongo删除重复的文档

我需要根据字段"X"的唯一值删除重复的条目.它在mongodb shell中工作正常:

db.collection.ensureIndex({x' : 1},{unique: true, dropDups: true})
Run Code Online (Sandbox Code Playgroud)

我想用pymongo运行它,我使用的代码如下:

import pymongo
import mmh3

conn = pymongo.MongoClient()
db = conn['scrapy-mongodb']

db.collection.ensure_index({'x' : 1}, {'$unique' : True, '$dropDups' : True})
Run Code Online (Sandbox Code Playgroud)

此代码抛出:

TypeError:如果未指定方向,则key_or_list必须是list的实例

我哪里做错了?

python mongodb pymongo

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

为Python函数返回'None'是个好主意吗?

问题在于标题......

我正在学习Python,我听过几次函数返回None是你在真正的程序中永远不应该有的东西(除非你的函数永远不会返回任何东西).虽然我似乎无法找到绝对必要的情况,但我想知道它是否可以成为一个很好的编程实践.即,如果你的函数返回整数(比如,方程的解),则无表示没有回复的答案.或者它应该始终作为函数内的异常处理?也许还有其他一些实际有用的例子?或者我应该这样做吗?

python

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

麻烦简单的密码程序 - Java

我有一天晚上做了一些编程,遇到了问题.看来我的按钮的动作监听器中的if语句没有被拾取.我对编程很陌生,所以我希望它不是太明显任何建议?这是代码:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.util.*;
import javax.swing.*;

public class Login extends JFrame implements ActionListener {
JTextField tfUsername, tfPassword;
JLabel jlUser, jlPass;
JTextArea tarea;
JButton bLogin;

public Login(){
    JFrame frame = new JFrame("Login Test");
    JPanel panel = new JPanel();
    jlUser = new JLabel("Username");
    tfUsername = new JTextField(20);
    jlPass = new JLabel("Password");
    tfPassword = new JTextField(20);
    bLogin = new JButton("Login");
    tarea = new JTextArea();

    frame.setSize(335,150);
    frame.add(panel);
    panel.add(jlUser);
    panel.add(tfUsername);
    panel.add(jlPass);
    panel.add(tfPassword);
    panel.add(bLogin);
    panel.add(tarea);
    bLogin.addActionListener(this);
    frame.setResizable(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
}


public …
Run Code Online (Sandbox Code Playgroud)

java

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

if-else python short-cut评估函数两次吗?

假设我有一个getQ(x)返回一些数字的函数,它很慢.现在,如果我这样做:

x = 10
x = getQ(x) if getQ(x) >= 0 else 0
Run Code Online (Sandbox Code Playgroud)

getQ在这种情况下得到执行两次?

这是:

x = getQ(x)
x = x if x >= 0 else 0
Run Code Online (Sandbox Code Playgroud)

更快?

如果是这样,对于这种情况,是否有更优雅的单线程?

python nonetype

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

标签 统计

python ×6

java ×2

python-2.7 ×2

arrays ×1

c++ ×1

count ×1

dereference ×1

docstring ×1

list ×1

mongodb ×1

nonetype ×1

perl ×1

pymongo ×1

string ×1

tuples ×1