-

现在,我们能使用 Python 完成比 2+2 更复杂的工作。在下例里,我们能写出一个初步的斐波纳契数列如下:


有关斐波那契数列的具体问题可在 斐波纳契奇数求和算法挑战 教程中进一步了解。

#!/usr/bin/python3
# Fibonacci series: 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
    print(b)
    a, b = b, a+b

尝试一下 >>


其中代码 a, b = b, a + b 的计算方式为先计算右边的表达式,然后同时赋值给左边,等价于:

n = b
m = a + b
a = n
b = m

执行以上程序,输出结果为:

1
1
2
3
5
8

这个例子介绍了几个新特征。

  • 第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。
  • 最后一行也使用了复合赋值的方法:等价于 c = a,a = b,b = b + c。


接下来尝试输出变量值:

i = 1024 * 1024
print('i 的值为:', i)
尝试一下 >>


执行以上程序,输出结果为:

i 的值为: 1048576

end 关键字

关键字 end 可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下:

# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 1024:
    print(b, end=',')
    a, b = b, a+b
尝试一下 >>


执行以上程序,输出结果为:

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

最后尝试使用 if 条件控制  

age = int(input("请输入你家狗狗的年龄: "))
print("")
if age < 0:
	print("请输入正确的年龄。")
elif age == 1:
	print("相当于 14 岁的人。")
elif age == 2:
	print("相当于 22 岁的人。")
elif age > 2:
	human = 22 + (age -2)*5
	print("对应人类年龄: ", human)
### 退出提示
input('点击 enter 键退出')