1 + 1 / 2! + 1/ 3! + ¼! + …..... Поиск суммы

Q.) 1 + 1 / 2! + 1/ 3! + ¼! + ….....
Выход следующей программы всегда равен 1.0. Я начинающий питон. Пожалуйста, скажите мне, что не так? Пожалуйста, предложите любые другие методы, чтобы сделать эту программу лучше. Нет встроенных функций, пожалуйста. Я хочу сделать это вручную.

    n=int(raw_input("Enter number of terms : ")) 

    d=0  #to sum all terms, initial value is 0

while n>0:
     j=n   #we start by taking factorial of the last term
     s=1   #to multiply to find factorial
     while j>0:
               s=s*j   #number gets multiplied to s and stored in s
               j=j-1   #number is decreased until it reaches 0
     n=n-1   #we will keep finding factorial until the very first term, i.e. 1 is reached
     x=float(1/s)   #to find reciprocal of the factorial we just found in     floating point
     d=d+x #adding to final sum

print "Sum of 1+1/2!+1/3!+1/4!+.... is ",d #printing

1 ответ

Вам нужно использовать float где-то в вашем подразделении. Я просто делаю тебя поплавком.

n=int(raw_input("Enter number of terms : ")) 

d=0  #to sum all terms, initial value is 0

while n>0:
     j=n   #we start by taking factorial of the last term
     s=float(1)   #to multiply to find factorial
     while j>0:
               s=s*j   #number gets multiplied to s and stored in s
               j=j-1   #number is decreased until it reaches 0
     n=n-1   #we will keep finding factorial until the very first term, i.e. 1 is reached
     x=1/s   #to find reciprocal of the factorial we just found in     floating point
     d=d+x #adding to final sum

print "Sum of 1+1/2!+1/3!+1/4!+.... is ",d #printing
Другие вопросы по тегам