Question: who played john smith in i am number four
Answer: In the film adaptation , Number Four is portrayed by Alex Pettyfer .