只要只有一种模式,我就能编写程序来查找模式。但是,我不确定如何更改我的代码,以便在存在多种模式时它可以正常运行。
这就是我所拥有的!关于如何修复我的代码的任何建议将不胜感激。
>>> db = sqlite3.connect(":memory:")
>>> fts = FTS4SpellfixSearch(db, './spellfix')
>>> fts.create_schema()
>>> fts.index_text("All the Carmichael numbers") # your example
>>> from pprint import pprint
>>> pprint(fts.search('NUMMBER carmickaeel'))
{'corrected': 'numbers carmichael',
'results': [('All the Carmichael numbers',)],
'terms': 'NUMMBER carmickaeel'}
>>> fts.index_text(
... "They are great",
... "Here some other numbers",
... )
>>> pprint(fts.search('here some')) # edgecase, multiple spellfix matches
{'corrected': 'here some',
'results': [('Here some other numbers',)],
'terms': 'here some'}
>>> pprint(fts.search('NUMMBER NOT carmickaeel')) # using fts4 query syntax
{'corrected': 'numbers NOT carmichael',
'results': [('Here some other numbers',)],
'terms': 'NUMMBER NOT carmickaeel'}
答案 0 :(得分:1)
您想要:
a)记录下每个值出现的频率。您已经为此使用了“发生次数”数组。
b)找到最高的“发生次数”
c)查找具有最高“出现次数”的所有值
对于您的代码,通常可以通过替换以下内容来实现:
if (c[x]>=mode)
{mode=x;}
..具有更多类似内容:
if (c[x] > highest)
{highest = c[x];}
..然后最后做类似的事情:
printf("the mode/s are:");
for(i = 0; i <= 100; i++) {
if(c[i] == highest) {
printf(" %d", i);
}
}
printf("\n");