Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 添加使用for循环的术语_Python_For Loop_Python 3.x_Equation - Fatal编程技术网

Python 添加使用for循环的术语

Python 添加使用for循环的术语,python,for-loop,python-3.x,equation,Python,For Loop,Python 3.x,Equation,计算自然对数,将序列1-1/2+1/3-1/4+1/5-。。。1/n其中n为正整数,由用户输入 我的问题似乎在方程式中。或者更确切地说,我不知道如何输入它来添加输入的所有整数,而不仅仅是1或2 def LogEquation(n) n = int(input("Enter an integer: ")) for n in range (1, n+1): log = 1 - 1/n + 1/n+1 print (log) LogEquation() //function

计算自然对数,将序列
1-1/2+1/3-1/4+1/5-。。。1/n
其中n为正整数,由用户输入

我的问题似乎在方程式中。或者更确切地说,我不知道如何输入它来添加输入的所有整数,而不仅仅是1或2

def LogEquation(n)
  n = int(input("Enter an integer: "))
  for n in range (1, n+1):
      log = 1 - 1/n + 1/n+1
  print (log)


LogEquation() //function called

你的公式是错误的——你总是在计算循环中的最后两项——试试这个,你需要确保你总是在日志中添加一些东西。另外,您将“n”用于两种不同的事情—输入变量和循环—这不是一种好的做法

def LogEquation():
   n = int(input("Enter an integer: "))
   log = 0 

   sgn = +1 # Do we add or subtract

   for a in range (1, n+1):
      log = log + sgn * 1.0/a # Use 1.0 so we do floating point arithmetic
      sgn = -sgn # We added the last term - so subtract the next

   print (log)

LogEquation()

由于您使用的是python3,我认为整数除法没有问题。相反,我认为问题在于,
1/n+1
被解释为
(1/n)+1
,而不是
1/(n+1)
1/n=0
对于任何
整数n
,这可能需要对更改进行更多解释(例如,循环变量)请注意,参数
n
是无意义的。n不是无意义的-它是OP用来定义计算精度的…它立即被用户输入所取代。我不确定这个系列计算的是什么-但我不认为它不会计算自然对数。什么是
sgn=+1