我正在尝试在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))
我做错了什么?
答案 0 :(得分:1)
用户输入是一个str,您在这里使用int检查一个str:
if int(tall) == 1
只需将其转换为int即可:
tall = int(input("I want number: "))
或者在这里:
proxy_cfg = self.core.create_proxy_config()
address = self.core.create_address ("sip:" + username + "@" + self.cfg_sip_domain)
address.port = self.cfg_sip_port
proxy_cfg.identity_address = address
proxy_cfg.server_addr = self.cfg_sip_proxy
proxy_cfg.register_enabled = True
self.core.add_proxy_config(proxy_cfg)
self.core.default_proxy_config = proxy_cfg
auth_info = self.core.create_auth_info(username, None, password, None, None, self.cfg_sip_domain)
self.core.add_auth_info(auth_info)
答案 1 :(得分:0)
我建议您像这样将int立即作为输入: 一个=诠释(输入(“东西”)) 此外,在print函数中省略str()是一种更好的做法,它会自动转换数字,您还应该检查python中的fstrings和格式字符串函数...