我正在尝试使用Field('h_id_card',
requires=[IS_LENGTH(maxsize=13, minsize=13), IS_NOT_IN_DB(db, 'person.h_id_card')])
我想我已经解决了间距问题,但是我试图同时从单词的开头和单词的结尾进行代码检查,以便在键入“ ufo tofu”之类的句子时会以回文形式回来。
我尝试删除空格,但这只会导致系统向我返回错误。
getline();
当我提交要评分的代码时,我试图使输出返回“不是回文”。
这是又回来的两个错误;
4: Compare output 0 / 2 Output differs. See highlights below. Special character legend Input statistics Your output statistics is a palindrome Expected output statistics is not a palindrome 6: Compare output 0 / 2 Output differs. See highlights below. Special character legend Input evil is alive Your output evil is alive is a palindrome Expected output evil is alive is not a palindrome
答案 0 :(得分:0)
string s;
do {
getline(cin, s);
}while(s.empty());
s.erase((remove(s.begin(),s.end(),' ')),s.end());
cout<<s<<endl;
假设您的字符串s
是ufo tofu
。删除所有空格后,它将变为ufotofu
。这样,您就可以轻松地检查回文是否存在。
这东西如何工作?
s
的字符串。在该字符串中,我们将存储ufo tofu
输入。getline(cin, s);
,但是如果您按Enter键一次,它将停止您的程序。remove
和erase
的函数组合:作为开始参数,我们使用函数remove
,该函数查找字符串中的所有空格,并将其推入容器的末端(在我们的示例中为string s
),并返回该“推送”的开始迭代器,第二个参数告诉我们从该开始迭代器到末尾删除容器的每个元素。我认为这是一种非常简单的方法,但是如果对您没有用,很抱歉浪费您的时间阅读所有这些内容! :)