跳转至

Python 笔记 | 循环结构

在 Python 编程中,循环结构是编程的基本要素之一,用于重复执行一段代码直到满足某个条件。Python 提供了两种主要的循环结构:for 循环和 while 循环。

for 循环

for 循环用于遍历一个序列(如列表、元组、字符串等)或其他可迭代对象(如集合、字典等)中的元素。在每次迭代中,循环变量被设置为序列中的下一个元素,然后执行循环体中的代码块。

Python
for 变量 in 可迭代对象:
    # 循环体代码块

遍历一个列表并打印元素:

Python
1
2
3
my_list = [1, 2, 3, 4, 5]
for item in my_list:
    print(item)

遍历一个字符串并打印字符:

Python
1
2
3
my_string = "hello"
for char in my_string:
    print(char)

遍历字典的键值对并打印:

Python
1
2
3
my_dict = {'a': 1, 'b': 2, 'c': 3}
for key, value in my_dict.items():
    print(f"key: {key}, value: {value}")

while 循环

while 循环用于在满足某个条件时重复执行一段代码,只要条件为真(True),循环就会继续执行。如果条件为假(False),则循环停止。

Python
while 条件:
    # 循环体代码块

使用while循环打印数字 1 到 5 :

Python
1
2
3
4
count = 1
while count <= 5:
    print(count)
    count += 1

读取用户输入,直到输入为 "quit" :

Python
1
2
3
4
user_input = ""
while user_input != "quit":
    user_input = input("请输入一些文本(输入'quit'退出): ")
    print("你输入了:", user_input)

总结

  • for 循环和 while 循环都是 Python 中用于重复执行代码块的重要结构。
  • for 循环特别适用于遍历序列或可迭代对象中的元素。
  • while 循环更加灵活,可以根据条件来重复执行代码块,但需要注意避免死循环。
  • 在选择使用哪种循环时,应根据具体需求和场景来决定。如果你知道需要遍历的元素数量或可迭代对象,通常使用 for 循环;如果你需要根据某个条件来重复执行代码,直到条件不满足为止,那么使用 while 循环更为合适。

综合实践

Python
# for 循环  
temp_list = [12, 21, 31, 34]  
for i in temp_list:  
    print(i)  

temp_dict = {"张三": 36,  
             "李四": 37.5,  
             "房东的猫": 37}  
for name, temp in temp_dict.items():  
    if temp > 36.5:  
        print("着搞了!" + name + "发烧了!")  
    else:  
        print(name + "一切正常,很舒服!")  

# 第二种写法  
for temp_tuple in temp_dict.items():  
    name = temp_tuple[0]  
    temp = temp_tuple[1]  
    if temp > 36.5:  
        print("着搞了!" + name + "发烧了!")  
    else:  
        print(name + "一切正常,很舒服!")  

# range(begin(optional, default:0), end, step(optional, default:1))  
for i in range(2, 10, 2):   # 从 2 开始到 9 结束 步长为 2    print(i)  

# while 循环  
total, count, result = 0, 0, 0  
user_input = input("输入数字(输入q结束):")  
while user_input != "q":  
    count += 1  
    total += float(user_input)  
    user_input = input("输入数字(输入q结束):")  
if count > 0:  
    result = total/count  
print("平均值为 " + str(result))