跳至主要內容

04.循环结构

Zhao Bin笔记backendpython

04.循环结构

Python 中循环有两种,for-inwhile

for-in 循环

"""
用for循环实现1~100求和
"""

sum=0
for x in range(101):
  sum += x
print(sum)

range 用法非常灵活,下面给出了一个例子:

  • range(101) : 产生 0 到 100 范围的整数,需要注意的是取不到 101。
  • range(1, 101) : 产生 1 到 100 范围的整数,相当于前面是闭区间,后面是开区间。
  • range(1, 101, 2) : 产生 1 到 100 范围的奇数,步长是 2。
  • range(100, 0, -2) : 产生 100 到 0 的偶数,步长是 -2。

知道了这一点,我们可以用下面的代码来实现 1~100 之间的偶数求和。

"""
用for循环实现1~100之间的偶数求和
"""

sum=0
for x in range(2, 101, 2):
  sum += x
print(sum)

while 循环

下面我们通过一个“猜数字”的小游戏来看看如何使用 while 循环。
猜数字游戏的规则是:计算机出一个 1 到 100 之间的随机数,玩家输入自己猜的数字,计算机给出对应的提示信息(大一点、小一点或猜对了),
如果玩家猜中了数字,计算机提示用户一共猜了多少次,游戏结束,否则游戏继续。

"""
猜数字游戏
"""

import random

answer = random.randint(1, 100)
counter = 0

while True:
  counter += 1
  number = int(input('请输入:'))
  if number < answer:
    print('大一点')
  elif number > answer:
    print('小一点')
  else:
    print('恭喜你猜对了!')
    break
print('你一共猜了%d次' % counter)
if counter > 7:
  print('需要加油哦~')

试一试:

python day-01-15/day-04/while-demo.py

练习

下面的例子演示了如何通过嵌套的循环来输出一个九九乘法表。

"""
输出乘法口诀表(九九表)
"""

for i in range(1, 10):
  for j in range(1, i + 1):
    print('%d * %d = %d' % (i, j, i * j), end='\t')
  print()

试一试:

python day-01-15/day-04/9x9-table.py