Python 如何在循环中增加分数/分母?

Python 如何在循环中增加分数/分母?,python,python-3.x,Python,Python 3.x,我正在尝试开发一个Python3程序,允许用户选择分母并计算公式。例如: 用户选择5作为分母 方程将递增,直到给定分母 (1/1)+(1/2)+(1/3)+(1/4)+(1/5) 输出应为(2.28333) 我的代码: d = input ("Select a denominator") for i in range(d) d += (1/d) print(d) 到目前为止,我只能要求用户输入/分母。我试着把它放在一个循环中,但我做错了什么。这是打印出

我正在尝试开发一个Python3程序,允许用户选择分母并计算公式。例如:

  • 用户选择5作为分母
  • 方程将递增,直到给定分母
  • (1/1)+(1/2)+(1/3)+(1/4)+(1/5)
  • 输出应为(2.28333)
我的代码:

d = input ("Select a denominator") 
for i in range(d)
    d += (1/d)
    print(d)
到目前为止,我只能要求用户输入/分母。我试着把它放在一个循环中,但我做错了什么。这是打印出来的:

5.2
5.392307
5.577757
5.757040
5.930740
  • 您需要使用
    int()
  • 对总分母和最终分母使用不同的变量
  • 范围(x)
    从0到
    x-1
    ,要从1到x,您需要
    范围(1,x+1)
  • 您需要将
    1/i
    而不是
    1/最终分母
    添加到总数中
或者,这是生成器表达式的一个很好的用法:

final_denominator = int(input("Select a denominator: "))
total = sum(1 / i for i in range(1, final_denominator + 1))
print(total)

不能除以
0
我认为您需要使用多个变量。
范围(d)
0
d
1/0
未定义。您没有使用
i
。我忘记添加
int()
,已经修复了它。
final_denominator = int(input("Select a denominator: "))
total = sum(1 / i for i in range(1, final_denominator + 1))
print(total)