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)