python中的循环和其他语言类似,使用的是while循环与for循环
一、while循环
一个简单的例子,打印1-100的所有数
x = 1
while x <= 100:
print(x)
x += 1
打印1-100的所有数,打印从1开始,对x变量赋初值1,范围是1-100以内,所有while语句后的条件x<=100,while循环中首先打印x的值,然后使用x += 1进行递增。
二、while循环实例
下面演示使用while循环确保用户输入名字
name = ''
while not name:
name = input('Please input your name:')
print('Hello, {}!'.format(name))
name = ''表示name变量中没有任何值,此时的name的布尔值为False
name = ''
bool(name)
False
使用bool()函数,可以看到name的布尔值为False。
在while条件中使用not name,not name的布尔值为True,在循环中使用input函数进行输入。
测试时,可以看到有输入时,正常打印出结果,没有输入时(直接回车)会继续提示进行输入。因为此时name没有输入,布尔值为假。
在上述例子中,如果输入空格,可以看到如下结果:
Please input your name:
Hello, !
因为包含空格字符的字符串不是空的,所以为真。可以采用isspace()判断是否有空格输入,修改后的while循环条件如下
while not name or name.isspace():
三、for循环
while语句在条件为真的基础上,反复执行代码。但有时需要迭代每一个对象,此时可以使用for语句。下面是for循环的示例
words = ['python', 'Java', 'C++']
for word in words:
print(word)
使用for循环遍历特定范围内的数比较常见,python中提供了range函数,创建范围内的数值。range函数包含起始位置,但不包含结束位置。
range(1,10)
range(1, 10)
list(range(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
range(1,10),包含起始位置,起始从1开始,不包含结束位置,所以结束为9。
如果range中只有一个数字,则视为结束位置,假定起始为0。
range(10)
range(0, 10)
list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
以下是使用for循环打印1-100数值的例子
for x in range(1,101):
print(x)