我在这段代码中做错了什么? (斐波纳契)[关闭]

问题描述 投票:-1回答:2

我正在尝试在python中创建一个程序,用户可以在其中说出他们想要的数字斐波纳契数,然后程序将打印它,以及下面所有数字的总和。但是,我遇到了打印错误号码和错误总和的问题。这是我的代码:

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))

我做错了什么?

python
2个回答
1
投票

用户输入是str,你在这里用int检查str:

if tall == 1

只需将其转换为int:

if int(tall) == 1

或者在这里:

tall = int(input("I want number: "))

0
投票

我建议你立即将输入作为一个int:a = int(输入(“某事物”))此外,在打印函数中省略str()是一种更好的做法,它会自动转换数字,你应该还检查python中的fstrings和格式字符串函数...

© www.soinside.com 2019 - 2024. All rights reserved.