Python基础(23)–while循环语句与for-in语句

◎知识点

  1. 循环结构的概述

  2. while语句

  3. for-in语句


◎脚本练习

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
 @FileName:    while.py
 @Function:    while definition
 @Author:      Zhihe An
 @Site:        https://chegva.com
 @Time:        2021/6/30
"""

"""一、循环结构的概述"""

"""
1、为什么需要循环结构?
    如果要打印1到10之间的所有自然数,你可能会这样实现:
    print(1)
    print(2)
    print(3)
    print(4)
    print(5)
    print(6)
    print(7)
    print(8)
    print(9)
    print(10)
    如果要打印1到1000之间的所有自然数,你就要写1000行代码,而且这1000行代码都是重复的
    print语句,唯一的区别在于要打印的自然数不同
"""


"""
2、什么是循环结构?
    使用循环结构,上面的需求可以这样实现:
    i = 1
    while i < 11:
        print(i)
        i += 1
    或者这样实现:
    for i in range(1, 11):
        print(i)
    代码量少了很多,而且没有重复的代码
    如果要打印1到1000之间的所有自然数,只需要把11改为1001就可以了
    
    循环结构指的是:程序根据循环条件反复执行某段代码,直到不满足循环条件为止
    python提供了两种实现循环结构的语句:while语句和for-in语句
"""


"""二、while语句"""

"""
while语句的语法格式:
    初始化部分
    while 循环条件:
        循环体
    其中,循环体对应的代码块必须缩进
        (1) 初始化部分:用于设置循环的初始条件,比如循环控制变量的初始值
        (2) 循环条件:每次循环都要判断循环条件的布尔值,以决定继续循环还是终止循环
            循环条件中通常包含循环控制变量
        (3) 循环体:这是循环操作的主体内容,可以是一条语句,也可以是多条语句
            循环体中的某些语句用于改变循环控制变量的值,从而改变循环条件的布尔值

while语句的执行流程:
    执行完一次初始化部分之后,反复判断循环条件的布尔值
    如果循环条件的布尔值为False,则终止循环
    如果循环条件的布尔值为True,则执行循环体,执行完循环体后再次判断循环条件的布尔值
"""

i = 1
while i < 11:
    print(i)
    i += 1

"""
    应该确保让循环条件的布尔值在某一时刻变为False,以避免while语句陷入死循环(无限循环),
    即永远不会终止的循环

    i = 1
    while True:
        print(i)
        i += 1
"""

"""
    有时候循环条件可能不太容易确定,需要在循环体中才能决定是否要退出循环,在这种情况下,
    可以使用while-True-break结构,也就是说,通过while True构造一个无限循环,
    在循环体中满足某个条件时通过break退出循环
"""

while True:
    word = input('请输入一个单词:')
    if not word:
        break
    print('输入的单词是:', word)
    
    
"""三、for-in语句"""

"""
1、什么是for-in语句?
    for-in语句专门用于遍历序列、字典和集合等类型的对象
    其中,遍历指的是:把对象的所有元素依次访问一遍。每访问一个元素,称之为一次迭代。因此,
    可以使用for-in语句遍历的对象又被称为可迭代对象
    
for-in语句的语法格式:
    for 自定义的变量 in 要遍历的可迭代对象:
        循环体
    其中,循环体对应的代码块必须要缩进
    如果循环体内不需要访问自定义的变量,可以将自定义的变更替代为下划线_
    
for-in语句的执行流程:
    反复判断是否遍历完可迭代对象中的所有元素:
    如果已经遍历完可迭代对象中的所有元素,则终止循环
    如果没有遍历完可迭代对象中的所有元素,则自定义的变量自动被赋予当前迭代的元素值,然后执行循环体,
    执行完循环体后再次判断是否遍历完可迭代对象中的所有元素
    
    当迭代次数已知时,推荐使用for-in语句;当迭代次数未知时,推荐使用while语句
"""

"""
2、使用for-in语句遍历range、列表、元组和字符串等序列
"""

for number in range(1, 4):
    print(number)

for _ in range(1, 4):
    print('Hello')

for number in [1, 2, 3]:
    print(number)

for number in (1, 2, 3):
    print(number)

for char in '123':
    print(char)

"""
    在遍历序列的过程中,如果需要对序列进行修改,最好先通过切片操作生成一份序列的拷贝
"""

words = ['Java', 'Python', 'Kotlin', 'Swift', 'Go']
for word in words[:]:
    if len(word) < 5:
        words.remove(word)
print(words)    # ['Python', 'Kotlin', 'Swift']

"""
3、使用for-in语句遍历集合和字典
"""

s = {2, 3, 1}
for number in s:
    print(number)
for number in sorted(s):
    print(number)

d = {'Fruits': 86, 'Books': 88, 'Videos': 83}
# "自定义的变量自动被赋予当前迭代的元素值"中的"元素值"指的是字典的key
for elem in d:
    print(elem)
for key in d.keys():
    print(key)
for value in d.values():
    print(value)
for key, value in d.items():
    print(key, '→', value)

▽ while语句的流程图

Python基础(23)--while循环语句与for-in语句

▽ for-in语句的流程图

Python基础(23)--while循环语句与for-in语句◎脚本地址:

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/4818.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注