Python学习笔记之While循环用法分析

yipeiwu_com5年前Python基础

本文实例讲述了Python学习笔记之While循环用法。分享给大家供大家参考,具体如下:

前面一篇《Python学习笔记之For循环用法》详细介绍了Python for循环,这里再来讲述一下while循环的使用方法:

Python 中的While循环

For 循环是一种有限迭代,意味着循环主体将运行预定义的次数。这与无限迭代循环不同,无限迭代循环是指循环重复未知次数,并在满足某个条件时结束,while 循环正是这种情况。下面是一个 while 循环的示例:

card_deck = [4, 11, 8, 5, 13, 2, 8, 10]
hand = []
# adds the last element of the card_deck list to the hand list
# until the values in hand add up to 17 or more
while sum(hand) <= 17:
  hand.append(card_deck.pop())

测试:

print(hand)

得到:

[10, 8]

这个示例包含两个函数。sum 返回列表中的元素之和,pop 是一个列表方法,它会从列表中删除最后一个元素并返回该元素。

While 循环的组成部分:

  • 第一行以关键字 while 开始,表示这是一个 while 循环。
  • 然后是要检查的条件。在此示例中是 sum(hand) <= 17
  • while 循环头部始终以冒号 : 结束。
  • 该头部之后的缩进部分是 while 循环的主体。如果 while 循环的条件为 true,该循环的主体将被执行。每次运行循环主体时,条件将被重新评估。这个检查条件然后运行循环的流程将重复,直到该表达式变成 False
  • 注意: 循环的缩进主体应该至少修改测试表达式中的一个变量。如果测试表达式的值始终不变,就会变成无限循环!

Python 中的While循环[相关练习]

写一个 while 循环,用于计算比整数 limit 小的最大平方数,并将其存储在变量 nearest_square 中。平方数是整数乘以自己后的积,例如 36 是一个平方数,因为它等于 6*6。例如,如果 limit 是 40,你的代码应该将 nearest_square 设为 36。

解决方案:

limit = 40
num = 0
# write your while loop here
while (num+1)**2 < limit:
  num += 1
nearest_square = num**2
print(nearest_square)

运行结果:

36

关于Python相关内容感兴趣的读者可查看本站专题:《Python函数使用技巧总结》、《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Pandas实现数据类型转换的一些小技巧汇总

Pandas实现数据类型转换的一些小技巧汇总

前言 Pandas是Python当中重要的数据分析工具,利用Pandas进行数据分析时,确保使用正确的数据类型是非常重要的,否则可能会导致一些不可预知的错误发生。 Pandas 的数据类...

Python利用递归和walk()遍历目录文件的方法示例

Python利用递归和walk()遍历目录文件的方法示例

前言 经常需要检查一个“目录或文件夹”内部有没有我们想要的文件或者文件夹,就需要我们循环迭代出所有文件和子文件夹,Python中遍历指定目录下所有的文件和文件夹,包含多级目录,有两种方法...

Python3.4 tkinter,PIL图片转换

Python3.4 tkinter,PIL图片转换

先给大家分享一下全部代码 import os from PIL import Image import tkinter import tkinter.filedialog impor...

Python中Django框架下的staticfiles使用简介

django1.3新加入了一个静态资源管理的app,django.contrib.staticfiles。在以往的django版本中,静态资源的管理一向都是个问题。部分app发布的时候会...

解决Python requests库编码 socks5代理的问题

解决Python requests库编码 socks5代理的问题

编码问题 response = requests.get(URL, params=params, headers=headers, timeout=10) print '...