小编bok*_*666的帖子

使 fgets() 忽略新行

以下代码应从用户获取字符串(包含存储中的项目数据)。

我在使程序迭代到新行时遇到问题。当我按下“输入”时它会中止,但我需要它只将下一行作为输入。代码:

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”时,程序应该中止,而不是按下回车键。

c

4
推荐指数
1
解决办法
8019
查看次数

递归函数似乎没问题,但不会返回False

因此该函数应检查列表是否对称; 如果列表为空或具有一个整数,则它是对称的.

否则,该函数应检查第一个和最后一个整数是否相同并以递归方式继续.如果没有,请返回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)

python recursion symmetric asymmetric python-2.7

0
推荐指数
1
解决办法
335
查看次数

标签 统计

asymmetric ×1

c ×1

python ×1

python-2.7 ×1

recursion ×1

symmetric ×1