小编Gan*_*aro的帖子

将二维数组传递给函数的正确方法

我有一个二维数组,我将它传递给一个函数来执行某些操作.我想知道这样做的正确方法......

#define numRows 3
#define numCols 7
#define TotalNum (numRows*numCols)
int arr[numRows][numCols] = {{0,1,2,3,4,5,6}, {7,8,9,10,11,12,13},{14,15,16,17,18,19,20}};

void display(int **p)
{
    printf("\n");
    for (int i = 0; i< numRows;i++)
    {
        for ( int j = 0;j< numCols;j++)
        {
            printf("%i\t",p[i][j]);
        }
        printf("\n");
    }
}

int main() {
    display(arr);
}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

'display': cannot convert parameter1 from 'int' to 'int*'
Run Code Online (Sandbox Code Playgroud)

这是将二维数组传递给函数的正确方法吗?如果没有,那么正确的方法是什么?

c

53
推荐指数
4
解决办法
13万
查看次数

TypeError:count()只接受一个参数

我是Python和Django的新手,我从教程中修改了这段代码.我在TypeError: count() takes exactly one argument (0 given)加载页面时得到了.我一直在进行故障排除和谷歌搜索,似乎无法搞清楚.我究竟做错了什么?

def report(request):
    flashcard_list = []
    for flashcard in Flashcard.objects.all():
        flashcard_dict = {}
        flashcard_dict['list_object'] = flashcard_list
        flashcard_dict['words_count'] = flashcard_list.count()
        flashcard_dict['words_known'] = flashcard_list.filter(known=Yes).count()
        flashcard_dict['percent_known'] = int(float(flashcard_dict['words_known']) /    flashcard_dict['words_count'] * 100)
        flashcard_list.append(flashcard_dict)
    return render_to_response('report.html', { 'flashcard_list': flashcard_list })  
Run Code Online (Sandbox Code Playgroud)

python django

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

为什么我不能挑选一个打字.NamedTuple,而我可以挑选一个collections.namedtuple?

为什么我不能腌制一段typing.NamedTuple时间我可以腌制一个collections.namedtuple?我怎么能设法做一个泡菜NamedTuple

此代码显示了到目前为止我尝试过的内容:

from collections import namedtuple
from typing import NamedTuple

PersonTyping = NamedTuple('PersonTyping', [('firstname',str),('lastname',str)])
PersonCollections = namedtuple('PersonCollections', ['firstname','lastname'])

pt = PersonTyping("John","Smith")
pc = PersonCollections("John","Smith")


import pickle
import traceback

try:
    with open('personTyping.pkl', 'wb') as f:
        pickle.dump(pt, f)
except:
    traceback.print_exc()
try:
    with open('personCollections.pkl', 'wb') as f:
        pickle.dump(pc, f)
except:
    traceback.print_exc()
Run Code Online (Sandbox Code Playgroud)

shell上的输出:

$ python3 prova.py 
Traceback (most recent call last):
  File "prova.py", line 16, in <module>
    pickle.dump(pt, f)
_pickle.PicklingError: Can't pickle <class 'typing.PersonTyping'>: attribute lookup PersonTyping on …
Run Code Online (Sandbox Code Playgroud)

python pickle namedtuple python-3.5

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

标签 统计

python ×2

c ×1

django ×1

namedtuple ×1

pickle ×1

python-3.5 ×1