I've no idea why you have received downvotes for a perfectly valid question. Broadly speaking:
Hermoso - Beautiful / Handsome.
Bonito - Pretty / Nice.
Lindo - Cute / Lovely.
But really they are all potential synonyms and often they will be interchangeable with only minor change in meaning. SpanishDict even offers this as one of its definitions:
Tienes un perro lindo - You have a cute dog.
Please, don't ask them to fix anything from this forum, it's only the forum with other users like you here, to help each other about grammar. It's not the place to ask them things, they won't read them here.
Also, I hear "perro", there's no "d" here, so I guess you need training because the English sounds and the Spanish sounds are not the same. Learning a foreign language takes a lot of ear training.
You can use "perro" for a female too, if you talk about dogs in general.
For the generality, a kind of neutral, the masculine can be used, in Romance languages, it's the same in French for instance.
A dog of unspecified gender (or we don't care about the gender) = un perro.
But if you want to be precise, it's better and more logical to use = una perra.
Because the Spanish "b" and "v" are pronounced the same, but neither is exactly like the English "b" or "v."
The hard b/v sound is close to our "b" and comes when the letter is at the start of a sentence of follows m/n.
The soft b/v sound is closer to our "v" and is used in all other situations, as in this DL sentence above.
For a close approximation of proper Spanish pronunciation make the English sound "b" for hard b/v or "v" for soft b/v, but relax your lips.
There's a good article on it HERE