我有:
if (a[i] == 1) {
howMany[1] += 1;
}
else if (a[i] == 2) {
howMany[2] += 1;
}
else if (a[i] == 3) {
howMany[3] += 1;
}
else if (a[i] == 4) {
howMany[4] += 1;
}
else if (a[i] == 5) {
howMany[5] += 1;
}
else if (a[i] == 6) {
howMany[6] += 1;
}
else if (a[i] == 7) {
howMany[7] += 1;
}
else if (a[i] == 8) {
howMany[8] += 1;
}
else if (a[i] == 9) {
howMany[9] += 1;
}
我想用以下内容替换它:
if (a[i] == 1 || a[i] == 2 <-- etc) {
howMany[i] += 1;
}
但这并不奏效。有人有线索吗? 这是C ++,但我在Python中经历过同样的问题, 所以我不认为这是一个语言问题而是公正 一般问题。
答案 0 :(得分:3)
如果你确定a
的范围是1到9,你可以简单地写
howMany[a[i]]++;
否则您将需要一个if
声明
if(a[i] >= 1 && a[i] <= 9)
howMany[a[i]]++;
答案 1 :(得分:2)
怎么样
howMany[a[i]] += 1;
因为您始终根据howMany
a[i]
元素
答案 2 :(得分:1)
您需要使用:
howMany[a[i]] += 1;
(或++
而不是+= 1
)if
语句(顺便说一下,不是循环),因为a[i]
是持有1,2等的变量
您的新if
语句也可简化为:
if ((a[i] >= 1) && (a[i] <= 9)) ...
答案 3 :(得分:1)
让我们看看你在做什么
if (a[i] == 1) {
howMany[1] += 1;
}
因此,如果a[i]
为1,那么您希望增加howMany[1]
的值。由于a[i] == 1
和索引howMany == 1
,您只需要howMany[a[i]] += 1;