These are the actions I first tried - redownloading all the previously purchased ringtones. But that didn’t solve it.
Having backed up and resynced my iPhone a couple of times now, I can change the ringtone from the phone’s default, but only to one of the latest purchases I made from iTunes. The iTunes tones purchased and downloaded prior to iOS11, and now redownloaded, still don’t work. Also individual iTunes tones assigned to individual contacts also still don’t work.
I have had a few gremlins with my contacts since iOS11 which may be the source of the faults with assigned ringtones.
Incidentally, my calendar freezes every time I attempt to create an event on my iPhone. So there are clearly still a few gremlins in the system.