This made me lol
I got it correct but I think "他很帅，但不是个好人" is more natural here...
A life lesson here.
Would the sentence still work without the 一个?
"可是" should be accepted in place of "但是".
You could also use 壞蛋 literally means (bad egg)
But that is a bit informal, and mostly only children use it. Kind of like the word "tummy" - most adults don't really use it much.