我想让一个程序遍历数组然后向后循环。我如何用更少的C语言来使其更好?数组有8个元素!
while (1) {
if (i == 0) {
direction = 0; // RIGHT DIRECTION
}
if (i == 7) {
direction = 1; // LEFT DIRECTION
}
PORTD = array[i]; // NEEDED ARRAY ELEMENT
if (direction == 0) {
i++;
} else {
i--;
}
}
答案 0 :(得分:2)
您可以通过使下一个索引direction
或1
递增-1
来简化代码。
这是修改后的版本:
int i = 0, direction = 1;
for (i = 0;; i += direction) {
if (i == 0) {
direction = 1; // RIGHT DIRECTION
} else
if (i == 7) {
direction = -1; // LEFT DIRECTION
}
PORTD = array[i]; // NEEDED ARRAY ELEMENT
}
答案 1 :(得分:0)
正如其他人指出的那样,您需要反转增量变量的符号,然后需要使用适当的条件来终止循环:
pd.concat([df.groupby('car_id').apply(lambda x: x.head(1))[['car_id','name']].set_index('car_id'), \
df.groupby('car_id').agg({'aa': np.sum, 'bb': np.sum, 'cc':np.sum}).reset_index().set_index('car_id')], axis = 1).reset_index()
car_id name aa bb cc
0 100 buicks 0.001 0.004 0.0
1 101 chevy 0.002 0.000 0.0
2 102 olds 0.003 0.006 0.0
3 103 nissan 0.000 0.140 0.1