我必须输入特定天数和起始号码。有了这个,天数被分成两半,上半年开始数减少2.上半部分增加1.如果天数不均匀,后半部分又增加一天。继承人我所拥有的:
raw_decode
我现在卡住了。 如果你看到任何我很高兴听到它。我只需要一些帮助/建议。如果这很难理解,我会澄清任何事情。提前谢谢
编辑: 最终输出应该如下所示:
>>> text="""{
... "hello": 2,
... "world": 3
... }{
... "something": 5,
... "else": 6
... }
...
... """
>>> import json
>>> decoder = json.JSONDecoder()
>>> text = text.lstrip() # decode hates leading whitespace
>>> while text:
... obj, index = decoder.raw_decode(text)
... text = text[index:].lstrip()
... print(obj)
...
{'world': 3, 'hello': 2}
{'else': 6, 'something': 5}
如果这是有道理的。
继承我的输出:
int days;
int num;
int 1half;
int 2half;
int new_num;
System.out.print("Enter number of days: ");
days = keyboard.nextInt();
System.out.print("Enter number of first day: ");
num = keyboard.nextInt();
int half = days/2;
if (days %2 == 0){
1half = (half);
2half = (half);
} else {
1half = (half);
2half = (half) + 1;
}
int first_half[] = {1,(half)};
int last_half[] = {((half)+1), days};
while (1half > 1 || 1half < half) {
new_temp = temp - 2;
System.out.println("Day \t Num");
System.out.println(new_num);
first_half--;
}
while(2half >= (half + 1) && (2half <= days)) {
new_temp = temp++;
System.out.println("Day \t Num");
System.out.println(new_num);
last_half--;
}
永远持续
答案 0 :(得分:0)
我不知道为什么你需要那些数组和其他东西,但你可能会看看我的代码。它产生你想要的东西。
int days = 11;
int num = -10;
int output = num + 2;
System.out.println("Day \t Num");
int half = days / 2;
for (int i = 1; i <= half; i++) {
output -= 2;
System.out.println(i + "\t" + output);
}
for (int i = half + 1; i <= days; i++) {
output++;
System.out.println(i + "\t" + output);
}
答案 1 :(得分:0)
你的无限循环是由你的条件陈述引起的:
while (1half > 1 || 1half < half)
。
如果1half设置为任何大于1的数字,那么这将永远循环。您可能也希望使用&&
而不是||
。但是,不要在循环体中看到任何会影响事物的东西,以使其脱离循环。