4

我无法隔离问题。该程序应该采用两个整数并将它们转换为科学计数法,然后将它们相乘。然而,它两次打印科学概念。但是,它会打印两次信息。

def convert(s):
    print("You typed " + s)
    n=0
    for c in s:
        n=n+1
        if n==1:
            print("In scientific notation:"+str(c)+'.', end='')
        if n!=1:
            print(str(c),end='')
    print('X 10^'+str(len(s)-1))
    return c

def convert_product(u):
    n=0
    for c in u:
        n=n+1
        if n==1:
            print("Product in scientific notation "+c+'.', end='')
        if n!=1:
            print(c, end='')


def main():
    s=input("Please input your first number\n")
    t=input("Please input your second number\n")
    u=str(int(convert(s))*int(convert(t)))
    convert(s)
    convert(t)
    convert_product(u)
    print('X 10^' + str(len(s)+len(t)-2))
main()
4

1 回答 1

3

您在这一行中调用 convert :

u=str(int(convert(s))*int(convert(t)))

你又在数字上调用 convert :

convert(s)
convert(t)

并且转换功能正在打印。因此,您有双重打印。

于 2012-10-21T02:37:40.713 回答