Python 我在这个代码中做错了什么?(斐波那契)
我试图用python创建一个程序,用户可以说他们想要哪个Fibonacci数,然后程序会打印它,以及下面所有数字的总和。然而,我有一个问题,它打印了错误的号码和错误的总数。这是我的密码:Python 我在这个代码中做错了什么?(斐波那契),python,Python,我试图用python创建一个程序,用户可以说他们想要哪个Fibonacci数,然后程序会打印它,以及下面所有数字的总和。然而,我有一个问题,它打印了错误的号码和错误的总数。这是我的密码: x = 0 y = 1 fib = 0 summen = 0 print("What Fibonaccinumber do you want?") tall = input("I want number: ") if tall == 1: print(x) else: for count in
x = 0
y = 1
fib = 0
summen = 0
print("What Fibonaccinumber do you want?")
tall = input("I want number: ")
if tall == 1:
print(x)
else:
for count in range(int(tall)):
fib = x + y
x = y
y = fib
summen = summen + fib
print(fib)
print("The sum of all the fibonaccinumbers up to " + str(fib) + " is " +
str(summen))
我做错了什么?用户输入是一个str,您在这里用int检查str:
if tall == 1
if int(tall) == 1
只需在此处将其转换为int:
if tall == 1
if int(tall) == 1
或在此:
tall = int(input("I want number: "))
我建议您立即将输入作为int,如下所示: a=输入某物
此外,在print函数中省略str是更好的做法,它会自动转换数字,您还应该检查python中的fstring和format strings函数…tall==1永远不会为真,因为此时的tall是str,1是int。我同意立即格式化为int,但你所说的打印是错误的。Tye格式并不是解决方案的一部分。只是比链接元素更好的练习。。。是的,没问题。我只是指出打印功能,它自动转换数字是不正确的。printsum肯定但不是printsum is+sum like OP可能会从您的评论中推断出来。