以下代码应从用户获取字符串(包含存储中的项目数据)。
我在使程序迭代到新行时遇到问题。当我按下“输入”时它会中止,但我需要它只将下一行作为输入。代码:
for (i; i < STORE_SIZE; i++) {
fgets(seq, MAX_STRING_LEN, stdin);
if (strcmp(seq, "stop")) {
break;
}
else {
init(seq, ptr);
*(storage + i) = ptr;
}
}
Run Code Online (Sandbox Code Playgroud)
当程序在下一行中得到字符串“stop”时,程序应该中止,而不是按下回车键。
因此该函数应检查列表是否对称; 如果列表为空或具有一个整数,则它是对称的.
否则,该函数应检查第一个和最后一个整数是否相同并以递归方式继续.如果没有,请返回False.
代码似乎是正确的,但我无法弄清楚什么是错的以及为什么它不会返回False.
def symm(lst):
t = len(lst)
if t == 0 or 1:
return True
if t>1:
if lst[0] == lst[-1]:
return symm(lst[1:-2])
else:
return False
print symm([6,6,6,6,7])
Run Code Online (Sandbox Code Playgroud)