- 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
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
#!/usr/bin/env python
def add_end(position, num):
end_str = ''
if (position == 5) and (num in [0,5,6,7,8,9]):
end_str = th[0]
return end_str
elif (position == 5) and (num in [2,3,4]):
end_str = th[2]
return end_str
elif (position == 5) and (num == 1):
end_str = th[1]
return end_str
if (position == 2) and (num in [0,5,6,7,8,9]):
end_str = th[4]
return end_str
elif (position == 2) and (num in [2,3,4]):
end_str = th[7]
return end_str
elif (position == 2) and (num == 1):
end_str = th[3]
return end_str
return ('')
dec1 = ['', ' один', ' два', ' три', ' четыре', ' пять', ' шесть', ' семь', ' восемь', ' девять', ' десять', ' одиннадцать', ' двенадцать', ' тринадцать', ' четырнадцать', ' пятнадцать', ' шестнадцать', ' семнадцать', ' восемнадцать', ' девятнадцать']
dec2 = ['', '', ' двадцать', ' тридцать', ' сорок', ' пятьдесят', ' шестьдесят', ' семьдесят', ' восемьдесят', ' девяносто']
dec3 = ['', ' сто', ' двести', ' триста', ' четыреста', ' пятьсот', ' шестьсот', ' семьсот', ' восемьсот', ' девятьсот']
th = [' тысяч', ' тысяча', ' тысячи', ' миллион', ' миллионов', 'одна', 'две', ' миллиона']
numb = input('введите число: ')
mysum = []
max_len = 9;
zero = max_len - len(numb)
for i in range(zero):
mysum.append('0')
for char in numb:
mysum.append(char)
for i in range(max_len):
mysum[i] = int(mysum[i])
for element in mysum:
if int(element) != 0:
start_rank = mysum.index(element)
break
grouprank1 = [2,5,8]
grouprank2 = [1,4,7]
grouprank3 = [0,3,6]
mystr = ''
while start_rank < max_len:
if start_rank in grouprank1:
if (start_rank == 5) and (mysum[start_rank] == 1):
mystr += th[5] + str(add_end(start_rank, mysum[start_rank]))
elif (start_rank == 5) and (mysum[start_rank] == 2):
mystr += th[6] + str(add_end(start_rank, mysum[start_rank]))
elif start_rank == 5:
mystr += dec1[mysum[start_rank]] + str(add_end(start_rank, mysum[start_rank]))
if (start_rank == 2) and (mysum[start_rank] == 1):
mystr += dec1[mysum[start_rank]] + str(add_end(start_rank, mysum[start_rank]))
elif (start_rank == 2) and (mysum[start_rank] == 2):
mystr += dec1[mysum[start_rank]] + str(add_end(start_rank, mysum[start_rank]))
elif start_rank == 2:
mystr += dec1[mysum[start_rank]] + str(add_end(start_rank, mysum[start_rank]))
if start_rank == 8:
mystr += dec1[mysum[start_rank]]
start_rank += 1
if (start_rank in grouprank2) and (mysum[start_rank] == 1):
index_dec2 = str(mysum[start_rank]) + str(mysum[start_rank+1])
mystr += dec1[int(index_dec2)]
start_rank += 2
if start_rank in grouprank2:
mystr += dec2[mysum[start_rank]]
start_rank += 1
if start_rank in grouprank3:
mystr += dec3[mysum[start_rank]]
start_rank += 1
print(mystr)
http://xorout.ru/archives/249 в силу идеи алгоритма и освоивания python чуваку простительно :)
http://ideone.com/6w8wX