使用python:格式化输入输出-scanfprintf%

从键盘在一行一次性输入“第1个整数,第2个整数,第1个浮点数”(以英文逗号做分隔),将这3个数按如下格式要求输出到屏幕的一行

  1. 每个数的域宽均为10,且向右对齐,左侧空白补0
  2. 第1个整数按16进制输出,且有前缀0x (请注意,书上有错误哟!你能找出书上的错误吗?)
  3. 第2个整数按10进制输出,需要输出正负号
  4. 第1个浮点数输出到小数点后7位,且精确到小数点后7位

入门新手一枚,用python3解此题总是超出内存。求解此题!

#!/usr/bin/env python
#-*- coding:utf-8 -*-
from decimal import Decimal,getcontext
getcontext().prec = 7

data = input('请输入数字:')
def specLength(data):
    num1,num2,num3=data.split(';')
    print(str(num1).rjust(10,'0'))
    print(str(num2).rjust(10,'0'))
    print(str(num3).rjust(10,'0'))

def typeChange(data):
    num1, num2, num3 = data.split(';')
    print(hex(int(num1)))
    print(int(num2))
    print(Decimal(num3)+Decimal('0.0000000000'))


specLength(data)
typeChange(data)