global anss; ansss=0; if strcmp(get(handles.edit1,'String'),'123456') && strcmp(get(handles.edit2,'String'),'654321') ansss=anss; end if isempty(ansss) set(handles.text10, 'String', '消极情绪'); elseif ansss==1 set(handles.text10, 'String', '积极情绪'); end,请帮我在代码功能不变的情况下,把这串代码改写得越复杂越好
时间: 2023-06-14 14:04:57 浏览: 42
globalss;
ansss = 0;
if strcmp(get(handles.edit1,'String'),'123456') && strcmp(get(handles.edit2,'String'),'654321')
ansss = anss + 1;
else
ansss = anss - 1;
end
if isempty(ansss)
set(handles.text10, 'String', '消极情绪');
elseif ansss > 0
set(handles.text10, 'String', '积极情绪');
elseif ansss < 0
set(handles.text10, 'String', '消极情绪');
else
set(handles.text10, 'String', '中性情绪');
end
相关问题
global anss; ansss=0; if strcmp(get(handles.edit1,'String'),'123456') && strcmp(get(handles.edit2,'String'),'654321') ansss=anss end if ansss==0 set(handles.text10, 'String', '消极情绪'); elseif ansss==1 set(handles.text10, 'String', '积极情绪'); end,但结果为ansss = [],我该怎么更改我的代码
首,你需要把 `anss` 的值赋给 `ansss`。其次, `strcmp` 函数应该返回一个布尔值,而不是整数值。你可以尝试以下代码:
```
global anss;
ansss=0;
if strcmp(get(handles.edit1,'String'),'123456') && strcmp(get(handles.edit2,'String'),'654321')
ansss=anss;
end
if isempty(ansss)
set(handles.text10, 'String', '消极情绪');
elseif ansss==1
set(handles.text10, 'String', '积极情绪');
end
```
这里将 `isempty` 函数用于检查 `ansss` 是否为空。如果是空的,那么 `set(handles.text10, 'String', '消极情绪')` 将被执行。如果不是空的,并且等于1,那么 `set(handles.text10, 'String', '积极情绪')` 将被执行。
avg = np.mean(predLabels) if abs(avg - 0.5) < 1: anss = 1 elif abs(avg) >= 1.5: anss = 0 print('Anss: {}'.format(anss))为什么最后一条print不执行
这段代码可能存在语法错误或逻辑错误。请检查代码是否正确,例如是否缺少结束符号或缩进不正确等。另外,`anss`变量在两个条件语句中都被赋值,如果两个条件都不成立,那么`anss`变量将不会被赋值,因此最后一条print语句可能会出现`NameError: name 'anss' is not defined`的错误。可以在第一个条件语句外部添加一个`else`语句来给`anss`变量赋一个默认值。例如:
```
if abs(avg - 0.5) < 1:
anss = 1
elif abs(avg) >= 1.5:
anss = 0
else:
anss = -1
print('Anss: {}'.format(anss))
```
这样可以确保`anss`变量总是被赋一个值,即使前两个条件都不成立。