−11
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
def number_to_text(number):
"""this function convert numbers to text for numbers 0 <= X < 1000 """
if number <= 0:
return ""
elif number <= 9:
return FIRST_TEN[number-1]
elif number<=19:
return SECOND_TEN[number-10]
elif number<=99:
return OTHER_TENS[number/10-2]
elif number >= 100:
return HUNDRED
else:
return ""
def checkio(number):
result = ""
order = 10 ** (len(str(number))-1)
if number < 20: # it's if not good idea. but....
result = number_to_text(number)
return result
# loop below expand number to list of tuple: (digit, order)
number_list = []
while number / order != 0:
number_list.append(((int(number/order)),(int(order))))
number -= (number / int(order)) * order
order = order /10.0
result_list = []
# and now start algorithmic nightmare. Its must be rewrite!!!
for item in number_list:
if item[1] >= 100:
hundred = [number_to_text(num) for num in item]
result_list += hundred
elif item[1] == 10:
if item[0] <> 1 :
result_list += [number_to_text(item[0]*item[1])]
else:
next_item = number_list[(len(number_list))-number_list.index(item)]
next_item = (next_item[0]+10, next_item[1])
number_list[(len(number_list))-number_list.index(item)] = next_item
else:
result_list += [number_to_text(item[0])]
result_list = [x for x in result_list if x != '']
result = " ".join(result_list)
return result
Ну и мое кракозябро решение (надо цифру в строку)
def checkio(number):
num1, num2, num3 = map(lambda x: int(x), '0' * (3 - len(str(number))) + str(number))
res = ('%s %s %s' % (FIRST_TEN[num1] + HUNDRED if FIRST_TEN[num1] else '',
SECOND_TEN[num3] if num2 == 1 else OTHER_TENS[num2],
FIRST_TEN[num3] if num2 != 1 else '')).replace(' ', ' ').strip()
return res
Запостил:
kyzi007,
13 Сентября 2015
што
str тут не поможет.
Оффтоп: нахуй это вообще проходить? Это задачки для тех, кто еще не осилил ни 1 языка программирования и не умеет составлять алгоритмы даже в текстовом виде.
Так это и есть задачки самого начального уровня, дальше там интереснее идут.
Там еще и рега не работает.
штоа? я теперь не питон, я теперь бэйсик нах#%?
Всех поливает говном
Вскрикнет один - пидар!
Миллионы - иди напитон!
He did it again!
Найс самообман.
Пистон превращается... превращается пистон...
в эрланг с его бестолковыми -spec'ами
slowpoke.jpg
На уровне языка оно вообще ни на что влиять не будет