[关闭]
@zhangyu756897669 2017-08-20T14:42:09.000000Z 字数 3157 阅读 646

python 官方文档7.0

python官方文档


while 循环

  1. 您可以使用while语句一次又一次地执行代码块,只要while语句的条件为True,while子句中的代码将被执行。在代码中,while语句总是包含以下内容:

    • while 关键字
    • 条件(即,计算为True或False的表达式)
    • 一个冒号
    • 从下一行开始,一个缩进的代码块(称为while子句)
  2. 你可以看到while语句看起来类似于if语句。区别在于它们的作用。在if子句的末尾,程序执行在if语句之后继续执行。但是在while子句结束时,程序执行将返回到while语句的开头。 while子句通常称为循环或while循环。

  3. 我们来看一下使用相同条件的if语句和while循环,并根据该条件执行相同的操作。以下是使用if语句的代码:
  1. spam = 0
  2. if spam < 5
  3. print('Hello World.')
  4. spam = spam + 1
  1. spam = 0
  2. while spam < 5
  3. print('Hello World.')
  4. spam = spam + 1

在while循环中,始终在每次迭代开始时检查条件(即每次循环执行时)。如果条件为True,则执行子句,之后再次检查条件。第一次发现条件为False时,会忽略while子句。

if.png-27.4kB

while.png-27.1kB

这是一个小型示例程序,将不断要求您键入字面上的名称:

  1. name = ''
  2. while name != 'Zhang Yu':
  3. print('please type your name:')
  4. name = input()
  5. print('Thank you')

000097.png-33.8kB

停止循环 break

有一个快捷方式让程序执行早点突破一个循环的子句。如果执行到达break语句,它将立即退出while循环的子句。在代码中,break语句只包含break关键字。
很简单,对吧?这是一个与上一个程序相同的程序,但它使用break语句来转义循环。

  1. while True:
  2. print('Please type your name.')
  3. name = input()
  4. if name == 'ZhangYu':
  5. break
  6. print('Thank you!')

000099.jpg-46.7kB

continue

  1. 像break语句一样,continue语句在循环中被使用。当程序执行到达一个continue语句时,程序执行立即跳回到循环的开头,并重新评估循环的状态。 (这也是当执行到达循环结束时会发生的。)
  2. 陷入无限循环怎么办?
    如果您运行的程序有一个错误导致它陷入无限循环,请按CTRL-C。这将向您的程序发送KeyboardInterrupt错误,并导致它立即停止。
  1. while True:
  2. print('Hello world!')
  1. 写一个要求一个名字和密码的程序
  1. while True:
  2. print('Who are you?')
  3. name = input()
  4. if name != 'Joe':
  5. continue
  6. print('Hello, Joe. what is the password?(It is a fish.)')
  7. password = input()
  8. if password == 'swordfish':
  9. break
  10. print('Access granted.')

000100.jpg-68.3kB

4"Trunthy"和"Falsy".
其他数据类型中有一些值将被视为等同于True和False。当在条件中使用时,0,0.0和''(空字符串)被认为是False,而所有其他值都被视为True。

  1. name = ''
  2. while not name:
  3. print('Enter your name:')
  4. name = input()
  5. print('How many guests will you have?')
  6. numOfGuests = int(input())
  7. if numOfGuests:
  8. print('Be sure to have enough room for all your guests.')
  9. print('Done')

如果用户输入一个空白字符串作为name,那么while语句的条件将为True,程序继续请求一个名字。如果numOfGuest的值不是0,那么条件被认为是True,程序会为用户打印一个提醒。

for 和 range

  1. while循环保持循环,而其条件为True(这是其名称的原因),但是如果要仅执行一段代码只需要一定次数呢?您可以使用for循环语句和range()函数来执行此操作。
  2. 在代码中,for循环包含以下内容:

    • for 关键词
    • 一个变量名
    • in 关键词
    • 调用range(),最多传递三个参数
    • 一个冒号
    • 从下一行开始,一个缩进的代码块(称为for子句)
  1. print('My name is')
  2. for i in range(5):
  3. print('Zhang Yu(' + str(i) + ')')

for循环子句中的代码运行五次。第一次运行时,变量i设置为0.该子句中的print()调用将打印Jimmy Five Times(0)。在Python通过for循环子句中的所有代码完成迭代之后,执行返回到循环的顶部,并且for语句将i递增1。

注意

  1. 您也可以在for循环中使用break和continue语句。 continue语句将继续到for循环计数器的下一个值,就好像程序执行已经到达循环结束并返回到开始。实际上,您只能在while和for循环中使用continue和break语句。如果您尝试在其他地方使用这些语句,Python会给您一个错误。

  2. 作为另一个循环的例子,考虑这个关于数学家卡尔·弗里德里希·高斯的故事。当高斯是一个男孩时,老师想给班上布置了一个作业。老师告诉他们将数字从0加到100。高斯提出了一个聪明的技巧,在几秒钟内找出答案,但是你可以用for循环编写一个Python程序来为你做这个计算。

    (年轻高斯认为,有50对数字加起来为101:1+100,2+99,3+98,4+97等,直到50+51.由于50×101是5,050,所有的从0到100的数字和是5,050。聪明的孩子!)

  1. total = 0
  2. for num in range(101):
  3. total = total + num
  4. print(total)
  1. 实际上你可以使用while循环去做一个for循环; for循环更简洁
  1. print(My name is')
  2. i = 0
  3. while i < 5:
  4. print('Jimmy Five Times(' + str(i) + ')')
  5. i = i + 1

range()

  1. 一些函数可以用逗号分隔的多个参数来调用,而range()是其中之一。这样可以将传递给range()的整数更改为遵循任何整数序列,包括从零开始的数字。
  1. for i in range(12, 16)
  2. print(i)
  1. range函数可以调用三个参数。前两个参数是开始(start)和结束(stop)值,第三个参数是步调(step),该步骤是在每次迭代之后增加变量的量。
  1. for i in range(0, 10, 2):
  2. print(i)
  1. for i in range(5, -1, 1):
  2. print(i)

import 语句,载入模块

  1. 所有Python程序都可以调用一组基本的函数,这些函数包括你之前看过的print(),input()和len()函数。 Python还附带一组称为标准库的模块。每个模块都是一个Python程序,其中包含一组可以嵌入到程序中的函数。 例如,数学模块具有与数学有关的功能,随机模块具有随机数相关函数,等等。
  2. 在使用模块中的功能之前,必须使用import语句导入模块。在代码中,import语句包含以下内容:

    • import 关键词
    • 一个模块名称
    • 可选地,更多的模块名称,只要它们用逗号分隔
  3. 导入模块后,可以使用该模块的所有功能,例如引入随机模块:
  1. import random
  2. for i in range(5):
  3. print(random.randint(1,10))

random.randint()函数调用计算出通过它的两个整数之间的随机整数值。
4. 还可以导入不同的模块,如

  1. import random, sys, os, math
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注