17.while循环应用

1. 计算1~100的累积和(包含1和100)

参考代码如下:

#encoding=utf-8

i = 1
sum = 0
while i <= 100:
    sum = sum + i
    i += 1

print("1~100的累积和为:%d" % sum)

或者

# 1. 计算1~100的累积和(包含1和100)

# ret1 = 1 + 2 + 3 + 4 + ... + 100

# 定义一个变量 保存所有的1~100之间的数字
i = 1
# 定义一个变量 保存所有的数据
ret1 = 0

while i <= 100:
    ret1 += i # ret1 = ret1 + i
    i += 1

print("计算1~100的累积和:%d" % ret1)

2. 计算1~100之间偶数的累积和(包含1和100)

参考代码如下:

#encoding=utf-8

i = 1
sum = 0
while i <= 100:
    if i % 2 == 0:
        sum = sum + i
    i+=1

print("1~100的累积和为:%d" % sum)

或者

# 2. 计算1~100之间偶数的累积和(包含1和100)

# 定义一个变量 保存所有的1~100数字
i = 1
# 定义变量 保存累计和
ret2 = 0
while i < 101:
    # 判断条件 判断这个i值是否是偶数
    if i % 2 == 0:
        # 求和
        ret2 += i
    i += 1

print("计算1~100之间偶数的累积和:%d" % ret2)

while循环嵌套

  • 前面学习过if的嵌套了,想一想if嵌套是什么样子的?

  • 类似if的嵌套,while嵌套就是:while里面还有while

<1>while嵌套的格式

while 条件1:

        条件1满足时,做的事情1
        条件1满足时,做的事情2
        条件1满足时,做的事情3
        ...(省略)...

        while 条件2:
            条件2满足时,做的事情1
            条件2满足时,做的事情2
            条件2满足时,做的事情3
            ...(省略)...

<2>while嵌套应用一

要求:打印如下图形:

 *
 * *
 * * *
 * * * *
 * * * * *

参考代码:

i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("* ", end = '')
        j += 1

    print("
")
    i += 1

或者

"""
*
**
***
****
*****
"""
# 请使用循环完成
# 定义一个变量 记录循环次数
# 控制行数
# i = 1
# while i <= 5:
#     print("*")
#     i += 1

# 控制列数
# j = 1
# while j <= 5:
#     print("*", end="")
#     j += 1

# 整合
# 控制行数
i = 1
while i <= 5:
    # 控制列数
    j = 1
    while j <= i:
        print("* ", end="")
        j += 1
    # 在一行全部输出完成后 需要换行
    print()
    i += 1


# print的用法
# print(xxx) == print("xxx", end="
")
# print("你好", end="")
# print("世界")

使用for循环:

for i in range(1, 6):
    for j in range(1, i + 1):
        print("* ", end="")
    print()

例子:

# 外部循环1次 内部循环n次
"""
请在控制台输出
外部测试
内部测试
内部测试
内部测试
外部测试
内部测试
内部测试
内部测试
"""
# 定义一个变量 记录循环次数
i = 0
while i < 2:
    print("外部测试")
    # 定义一个变量 记录循环次数
    j = 0
    while j < 3:
        print("内部测试")
        j += 1
    i += 1
print("测试")

<3>while嵌套应用二:九九乘法表

 参考代码:

i = 1
while i<=9:
    j=1
    while j<=i:
        print("%d*%d=%-2d " % (j, i, i*j), end = '')
        j+=1
    print('
')
    i+=1

或者

# 控制行数
# 定义一个变量记录行数
# i = 1
# while i <= 9:
#     print(i)
#     i += 1

# 控制列数
# 定义一个变量记录列数
# j = 1
# while j <= 6:
#     print(j, end="")
#     j += 1

# %2d 代表给整数进行占位
# 如果是一位 会使用空格占位
# %2d 如果是一位 默认是 右对齐
# %-2d 如果是一位 默认是 左对齐
# 整合
# 行数
i = 1
while i <= 9:
    # 列数
    j = 1
    while j <= i:
        print("%d * %d = %-2d" % (j, i, i * j), end="  ")
        j += 1
    print()
    i += 1

 使用for循环:

for i in range(1, 10):
    for j in range(1, i + 1):
        print("%d * %d = %2d  " % (j, i, i * j), end="")
    print()

例子:

#     *
#    **
#   ***
#  ****
# *****

# 分析
i = 1
while i <= 5:
    # 每行打印空格数
    k = 5 - i
    # 每行打印的星星数
    x = i
    # 打印空格
    while k >= 1:
        print(" ", end=" ")
        k -= 1
    # 打印星星
    while x >= 1:
        print("*", end=" ")
        x -= 1
    # 打印完当前行,换行
    print()
    i += 1
原文地址:https://www.cnblogs.com/kangwenju/p/12676305.html