Есть библиотека, которая называется Inflect, которая делает это почти точно.
inflect.py - Правильно генерировать множественное число, существительные в единственном числе, ординалы, неопределенные артикли; преобразовать числа в слова.
import inflect
p = inflect.engine()
for x in range (n):
total += float (input('Enter a value for the {} term: '.format(p.ordinal(x+1))))
Переводит ...
Enter a value for the 1st term:
Enter a value for the 2nd term:
И так далее. Существует также функция преобразования чисел в слова, которую вы должны посмотреть - она делает то же самое, но на самом деле переводит слово на английский, а не на «1-й».