Script to alter all users passwords in Oracle

I normally use this script when i replicate my production database do development or testing environment. Script:

spool change_password_exe.sql

select 'alter user "'||username||'" identified by your_secrect_password;'
from dba_users
where username not in  ('SYS','SYSTEM','DBSNMP',
'AURORA$JIS$UTILITY$','OSE$HTTP$ADMIN',
'OUTLN','PUBLIC','WEBSYS','AURORA$ORB$UNAUTHENTICATED','TRACESVR')
/
select 'alter user "'||username||'" account unlock ;'
from dba_users
where username not in  ('SYS','SYSTEM','DBSNMP',
'AURORA$JIS$UTILITY$','OSE$HTTP$ADMIN',
'OUTLN','PUBLIC','WEBSYS','AURORA$ORB$UNAUTHENTICATED','TRACESVR')
/
spool off

set echo on
@change_password_exe.sql
set define on
This script will generate a spool file called change_password_exe.sql that will be executed at the end on the script.(you can also remove the execution part if you want to validate the script before executing) As you can see i don't alter any user that have administration privileges such as SYS, SYSTEM, etc.