python中相等值的错误比较结果
即使fib和i相等,结果也显示为False。为什么? 如果我在生成器函数中传递一个具体的值,而不是一个变量,那么结果就如预期的那样。为什么???input()默认情况下返回一个字符串,以获取数字dopython中相等值的错误比较结果,python,equality,python-3.9,inequality,Python,Equality,Python 3.9,Inequality,即使fib和i相等,结果也显示为False。为什么? 如果我在生成器函数中传递一个具体的值,而不是一个变量,那么结果就如预期的那样。为什么???input()默认情况下返回一个字符串,以获取数字doint(input()) def fib_gen(fib=-1): print(f"initial fib={fib}") a = 1 b = 0 yield b i = 1 print(f"initial i={i}") while(i!=fib
int(input())
def fib_gen(fib=-1):
print(f"initial fib={fib}")
a = 1
b = 0
yield b
i = 1
print(f"initial i={i}")
while(i!=fib):#infinite sequence by default, since default value of fib is -1
c = a
a = a+b
b = c
i = i+1
print(f"i={i}")
print(f"fib={fib}")
print("is fib==i: ",fib==i)
input("Continue? ")
yield a
x = input("First how many fibonacci numbers do you want? ")
fibs = fib_gen(x)
print(f"x={x}")
try:
while(True):
print(next(fibs))
except:
print(f"That's the first {x} fibonacci numbers")
x = int(input("First how many fibonacci numbers do you want? "))