1. 斐波纳契数列
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
print(b)
a, b = b, a + b
pass
打印结果:
图1.png
2. end 关键字
- 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符
# 两个元素的总和确定了下一个数
a, b = 0, 1
while b < 10:
print(b, end=",") # 将文本输入在同一行
a, b = b, a + b
pass
打印结果:
图2.png
3. 数字猜谜游戏
# 数字猜谜游戏
number = 7
guess = -1
print("数字猜谜游戏")
while guess != number:
guess = int(input("请输入你猜的数字: "))
if guess == number:
print("恭喜你猜对了")
elif guess < number:
print("猜的数字小了")
elif guess > number:
print("猜的数字大了")
pass
打印结果:
图3.png
4. 循环
- while 循环
1). Python中while语句的一般形式:
while 判断条件:
语句
同样需要注意冒号和缩进。另外,在Python中没有do..while循环
2). while 循环使用 else 语句
在 while … else 在条件语句为 false 时执行 else 的语句块:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
- for 语句
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
3). break和continue语句及循环中的else子句
break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
4). pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
5. range()函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列
for i in range(5):
print(i)
6. 迭代器
- 迭代器有两个基本的方法:iter() 和 next()
1). iter()函数
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
for x in it:
print (x, end=" ")
2). next()函数
import sys # 引入 sys 模块
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
while True:
try:
print (next(it))
except StopIteration:
sys.exit()
7. 生成器
在 Python 中,使用了 yield 的函数被称为生成器(generator)。普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。
import sys
def fibonacci(n): # 生成器函数 - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(10) # f 是一个迭代器,由生成器返回生成
while True:
try:
print (next(f), end=" ")
except StopIteration:
sys.exit()