我在Matlab(或Python)中有一个GUI接口,它要求用户对某个事件发表评论。该注释很重要,并加载到数据库中,以便将来跟踪事件。这一评论必须详细。你知道吗
我希望避免懒惰的用户输入,例如:
如果检测到如下“延迟输入”,则请求重新输入:
valid_input = 0;
while valid_input~=1
valid_input = 0;
user_input = '';
user_input=InputTextRequest('Insert significant mandatory comment');
switch user_input
case {'exit','quit'}
out = Popup('PROCEDURE ABORTED','PROCEDURE HAS BEEN ABORTED BY USER');
return
otherwise
if CheckCommentValidity( user_input)~=1
msg={'Comment field have to be significant:', [user_input ' is not valid, add details.']};
out = Popup('NOTE NOT ACCEPTED',msg);
valid_input = 0;
else
valid_input = 1;
end
end
end
问题是检测user_input
是否有效。你知道吗
我提供了一个函数,用于验证输入字符串中的4个不同参数:
n_unique
n_tot
n_space
n_vowels
我想知道我可以在这些参数之间做什么检查来确定字符串的有效性?我是意大利人,所以我知道我的语言使用的元音比英语要多,但不管怎样,是否存在一个描述“正确”输入的参数/阈值列表?你知道吗
现在我用这个函数来粗略估计参数阈值。你知道吗
function valid = CheckCommentValidity( user_input)
valid=0;
%parameters
n_unique = length(unique(strrep(user_input,' ',''))); %number of unique chars excluded spaces
n_tot = length(user_input); %number of chars
n_space = sum(user_input==' '); %number of spaces
n_space = sum(ismember( user_input, 'aeiou'));
%sub checks
conformity_check(1) = n_unique > 8;
conformity_check(2) = n_tot >= 10;
conformity_check(3) = n_space >= 1;
conformity_check(4) = n_vowels >= 4;
%main check
if sum(conformity_check==1) == length(conformity_check)
valid=1;
else
valid=0;
end
end
编辑
一些澄清:
UNKNOWN
值n_vowels/n_tot
比率可以是一个解决方案This comment is useless, sorry
。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐