Я решаю упражнение 17 из проекта Эйлера, который посвящен написанию чисел (ГБ). Я искал в Интернете правила написания номеров, но не нашел ничего подходящего.Русский написание орфографии
У кого-нибудь есть ссылка на английские правила правописания (GB) (например, когда использовать/не использовать «и»)?
Например, как правильно называть 342?
Вот моя функция, которую я написал, вы можете найти какие-либо ошибки?
def compose(x):
digits = ['', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']
eleven_to_twenty = ['', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen']
decades = ['', 'ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety']
if x < 1000:
if x < 100:
if x < 20:
if x <= 10:
return digits[x]
else:
return eleven_to_twenty[x - 10]
else:
return decades[x/10] + digits[x % 10]
else:
return digits[x/100] + 'hundredand' + compose(x % 100)
else:
return 'onethousand' + compose(x % 1000)
Возможно, это вопрос, который лучше подходит для http://english.stackexchange.com/ – gotohales
. Я добавлю код. – kaspersky
На самом деле нам не нужен код, если вы не получите ошибку кодирования, которую мы можем исправить. Если вопрос касается чисто орфографии, переведите его на английский стековый обмен :) – gotohales