爬虫系列一:十天python爬虫基础学习实战第五天——python循环语句

 

回顾昨天的条件语句的知识,学习今天的循环语句!

昨天内容回顾:

if...else...

if...ifel...else...

 

Python 循环语句

本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:

爬虫系列一:十天python爬虫基础学习实战第五天——python循环语句_第1张图片

Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型 描述
while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体。
for 循环 重复执行语句
嵌套循环 你可以在while循环体中嵌套for循环

1.while循环

"""
案例1:
while 表达式(True或者False):
    执行代码
循环词while
表达式2 > 0
循环体print('循环')
"""
while 2 > 0:
    print('循环')
print('循环结束')
"""
案例2:猜年龄
如果你猜错了,就继续猜,告诉他猜错了
如果猜对了,就停止
条件语句和循环语句的结合使用
"""
your_age = 25
is_wrong = True
while is_wrong:
    guess_age = int(input('請輸入你要猜測的年龄:'))
    if guess_age != your_age:
        print('猜错了')
    else:
        print('恭喜猜对了')
        is_wrong = False
"""
作业1:使用while循环猜数字
数字是个随机值
你循环猜測一个值,如果大了,打印大了,如果小了,打印小了,如果正确,跳出循环
作业2:
如果猜错>=三次,打印你真笨,别猜了,跳出循环
如果第一次就猜中了,打印你太聪明了,第一次就猜对了
"""
random_num = random.randint(1, 100)
is_wrong = True
while is_wrong:
    guess_num = int(input('請輸入你要猜測的数字:'))
    if guess_num > random_num:
        print('大了')
    elif guess_num < random_num:
        print('小了')
    else:
        print('恭喜猜对了')
        is_wrong = False

2.for循环

"""
案例3:
for i in 可迭代对象:
    执行代码
"""
for i in range(1, 10):
    print(i)
pass
"""
案例4:
for i in 可迭代对象:
    执行代码
"""
list_name = ['刘德华', '周星驰', '宋小宝', '赵本山', '霍建华']
for name in list_name:
    print(name)

3.嵌套循环

for...

    while...

 

 

 

循环控制语句

循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

控制语句 描述
break 语句 在语句块执行过程中终止循环,并且跳出整个循环
continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句 pass是空语句,是为了保持程序结构的完整性。
"""
案例4:
break的使用,语句意思:跳出循环
"""
for i in range(1, 100):
    print(i)
    if i == 88:
        break
"""
案例5:
continue的使用,语句意思:跳出当前循环,继续下一次循环
我们希望让1-99里面的数字+5,并且打印输出;如果遇到偶数,则不变,不用打印
"""
for i in range(1, 100):
    if i % 2 == 0:
        continue
    i += 5
    print(i)

 

案例:

6.阶乘计算。计算1+2!+3!+……10!的结果。
 

"""
案例6.阶乘计算。计算1+2!+3!+……10!的结果
1.计算一个数字的阶乘如何计算
"""
count = 0
for x in range(1, 11):
    count_x = 1
    for y in range(1, x + 1):
        count_x *= y  # count_x =count_x * y
    count += count_x
print(count)

 

作业:

1、求1~100之间能被7整除,但不能同时被5整除的所有整数。

2、求200以内能被17整除的最大正整数。

3、假设一个笼子里总共有鸡、兔30只,脚80只,求鸡、兔各有多少只。

4、编写程序,假设公鸡5元一只,母鸡3元一只,小鸡1元3只,现在有100元钱,想买100只鸡,计算有多少种买法?

5、九九乘法表输出。

6、整数序列求和。用户输入一个正整数N,计算从1到N(包含1和N)相加之后的结果。


最难的作业:

"""
作业4:
打印输出1到100以内的质数
伪码
想要的目的是,经过break的数字不再打印
难点:
for也可以和else结合使用
意思是,如果循环正常退出
简单理解为循环正常结束了,走else,否则碰到break等,不走
"""
for num in range(2, 100):
    for i in range(2, num):
        if num % i == 0:
            break
    else:
        print(num)

 

 

 

 

 

你可能感兴趣的:(python&python爬虫,爬虫小白从入门到精通)