Может ли десятичный модуль обрабатывать неизвестные значения? - PullRequest
2 голосов
/ 21 июня 2019

Я новичок в десятичном модуле, и я не уверен, что десятичный модуль может читать и обрабатывать неизвестные значения. Что я могу изменить для кода, чтобы он работал?

Я исследовал это, однако, я не могу найти идеальный ответ

    from decimal import Decimal

    def Addition(x,y):
        sum=Decimal('x')+Decimal('y')   
        print("The sum of {0} and {1} is {2}".format(x, y,sum))

    x=float(input("Enter your first  number: "))
    print("Your first number is="+str(x))
    y=float(input("Enter your second  number: "))
    print("Your second number is="+str(y))

    Addition(x,y)

Я ожидал добавления x и y, но вывод является недопустимой операцией [<class 'decimal.ConversionSyntax'>]

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Смотрите комментарии в коде.

from decimal import Decimal

def Addition(x,y):
    sum=x+y   #You don't need quotes around x and y
    print("The sum of {0} and {1} is {2}".format(x, y,sum))

x=Decimal(input("Enter your first  number: "))
print("Your first number is {}".format(x)) #No need to convert to string
y=Decimal(input("Enter your second  number: "))
print("Your second number is {}".format(y)) #No need to convert to string

Addition(x,y)

Выход:

Enter your first  number: 5.789
Your first number is 5.789
Enter your second  number: 5.34566
Your second number is 5.34566
The sum of 5.789 and 5.34566 is 11.13466
0 голосов
/ 21 июня 2019

IIUC вы имели в виду:

from decimal import Decimal
def Addition(x,y):
    sum=Decimal(x)+Decimal(y)   
    print("The sum of {0} and {1} is {2}".format(x, y,sum))
    x=float(input("Enter your first  number: "))
    print("Your first number is="+str(x))
    y=float(input("Enter your second  number: "))
    print("Your second number is="+str(y))
Addition(x,y)
...