|  | 
|  | 
| вернуться в форум | WA2 with re import refl = re.compile('[+-]?[1234567890]*\.[1234567890]*([Ee][+-]?[1234567890]+)?')
 lf = re.compile('[+-]?[1234567890]+([Ee][+-]?[1234567890]+)?')
 nums = []
 while True:
 first = input()
 if first == '#':
 break
 nums.append((first, int(input())))
 for num in nums:
 num0 = num[0]
 if not (re.fullmatch(fl, num0) or re.fullmatch(lf, num0)):
 print('Not a floating point number')
 continue
 try:
 e_pos = num0.index('e')
 exp = int(num0[e_pos + 1:])
 num0 = num0[:e_pos]
 except:
 try:
 e_pos = num0.index('E')
 exp = int(num0[e_pos + 1:])
 num0 = num0[:e_pos]
 except:
 exp = 0
 pm = num0[0]
 if pm in ['+', '-']:
 num0 = num0[1:]
 else:
 pm = '+'
 if pm == '+':
 pm = ''
 if exp > 0:
 num0 += '0' * exp
 elif exp < 0:
 num0 = '0' * (-exp) + num0
 try:
 dot_pos = num0.index('.')
 except:
 dot_pos = len(num)
 num0 += '.'
 new_dot_pos = dot_pos + exp
 num0 = num0[:dot_pos] + num0[dot_pos + 1:]
 num0 = num0[:new_dot_pos] + '.' + num0[new_dot_pos:]
 while num0.startswith('0'):
 num0 = num0[1:]
 if num0.startswith('.'):
 num0 = '0' + num0
 num0 += '0' * num[1]
 num0 = num0[:num0.index('.') + num[1] + 1]
 if num0.endswith('.'):
 num0 = num0[:-1]
 print(num0)
 | 
 | 
|