fork download
  1. import math
  2.  
  3. def splitString(string1):
  4. a = 0
  5. n = 0
  6. while a < len(string1) - 1:
  7. if string1[a:a + 2] == ", ":
  8. n = a
  9. a += 1
  10. b = [string1[:n].strip(), string1[n + 1:].strip()]
  11. return b
  12.  
  13. def findChar(string1, char1):
  14. a = False
  15. b = 0
  16. while b < len(string1):
  17. if string1[b] == char1:
  18. a = True
  19. b += 1
  20. return a
  21.  
  22. def findFunction(string1):
  23. function = ""
  24. if findChar(string1, ","):
  25. function = "comma"
  26. elif findChar(string1, "$") and not findChar(string1, "*"):
  27. function = "money"
  28. elif findChar(string1, "$") and findChar(string1, "*"):
  29. function = "indent money"
  30. elif findChar(string1, "-"):
  31. function = "negative"
  32. else:
  33. function = "indent"
  34. return function
  35.  
  36. def concatenateString(list1):
  37. a = 0
  38. b = ""
  39. while a < len(list1):
  40. b += list1[a]
  41. a += 1
  42. b.strip()
  43. return b
  44.  
  45. def reverseList(list1):
  46. a = len(list1) - 1
  47. b = []
  48. while a > -1:
  49. b.append(list1[a])
  50. a -= 1
  51. return b
  52.  
  53. def indent(list1):
  54. string1 = list1[0]
  55. number1 = list1[1]
  56. length1 = len(string1)
  57. length2 = len(number1)
  58. numOfAsterisks = length1 - length2
  59. a = ""
  60. b = 0
  61. while b < numOfAsterisks:
  62. a+= "*"
  63. b += 1
  64. b = 0
  65. a += number1
  66. return a
  67.  
  68. def comma(list1):
  69. string1 = list1[0]
  70. number1 = list1[1]
  71. length1 = len(string1)
  72. length2 = len(number1)
  73. numOfAsterisks = length1 - length2 - 1
  74. a = []
  75. b = 0
  76. while b < numOfAsterisks:
  77. a.append("*")
  78. b += 1
  79. b = 0
  80. while b < length2:
  81. a.append(number1[b])
  82. b += 1
  83. numOfCommas = math.ceil(length2 / 3.0) - 1
  84. b = 0
  85. c = []
  86. d = reverseList(a)
  87. while b < numOfCommas:
  88. c.append(d[3 * b])
  89. c.append(d[3 * b + 1])
  90. c.append(d[3 * b + 2])
  91. c.append(",")
  92. b += 1
  93. while b < len(d):
  94. try:
  95. c.append(d[3 * b])
  96. except:
  97. pass
  98. try:
  99. c.append(d[3 * b + 1])
  100. except:
  101. pass
  102. try:
  103. c.append(d[3 * b + 2])
  104. except:
  105. pass
  106. b += 1
  107. return concatenateString(reverseList(c))
  108.  
  109. def money(list1):
  110. return "$" + list1[1]
  111.  
  112. def indentMoney(list1):
  113. a = "$" + list1[1]
  114. string1 = list1[0]
  115. number1 = list1[1]
  116. length1 = len(string1)
  117. length2 = len(number1)
  118. numOfAsterisks = length1 - length2 - 2
  119. b = ""
  120. c = 0
  121. while c < numOfAsterisks:
  122. b += "*"
  123. c += 1
  124. b += a
  125. return b
  126.  
  127. def negative(list1):
  128. string1 = list1[0]
  129. number1 = list1[1]
  130. length1 = len(string1)
  131. length2 = len(number1)
  132. a = int(number1)
  133. numOfAsterisks = length1 - length2
  134. if a > 0:
  135. numOfAsterisks -= 1
  136. b = []
  137. c = 0
  138. while c < numOfAsterisks:
  139. b.append("*")
  140. c += 1
  141. c = 0
  142. while c < length2:
  143. b.append(number1[c].strip("-"))
  144. c += 1
  145. if a < 0:
  146. b.append("-")
  147. elif a > 0:
  148. b.append("*")
  149. return concatenateString(b)
  150.  
  151. def main():
  152. a = []
  153. b = []
  154. c = []
  155. d = []
  156. e = 0
  157. while e < 5:
  158. a.append(raw_input())
  159. b.append(splitString(a[e]))
  160. c.append(findFunction(b[e][0]))
  161. if c[e] == "indent":
  162. d.append(indent(b[e]))
  163. elif c[e] == "comma":
  164. d.append(comma(b[e]))
  165. elif c[e] == "money":
  166. d.append(money(b[e]))
  167. elif c[e] == "indent money":
  168. d.append(indentMoney(b[e]))
  169. elif c[e] == "negative":
  170. d.append(negative(b[e]))
  171. print d[e]
  172. e += 1
  173.  
  174. main()
Success #stdin #stdout 0.01s 7856KB
stdin
&&&&&&, 456
&&&&&&,&, 1000000
$&&&&, 123
*$&&&&, 123
&&&&-, -123
stdout
***456
1,000,000
$123
*$123
*123-